MediaWiki
REL1_34
FileDependency.php
Go to the documentation of this file.
1
<?php
27
class
FileDependency
extends
CacheDependency
{
28
private
$filename
;
29
private
$timestamp
;
30
43
function
__construct
(
$filename
,
$timestamp
=
null
) {
44
$this->filename =
$filename
;
45
$this->timestamp =
$timestamp
;
46
}
47
51
function
__sleep
() {
52
$this->
loadDependencyValues
();
53
54
return
[
'filename'
,
'timestamp'
];
55
}
56
57
function
loadDependencyValues
() {
58
if
( is_null( $this->timestamp ) ) {
59
Wikimedia\suppressWarnings();
60
# Dependency on a non-existent file stores "false"
61
# This is a valid concept!
62
$this->timestamp = filemtime( $this->filename );
63
Wikimedia\restoreWarnings();
64
}
65
}
66
70
function
isExpired
() {
71
Wikimedia\suppressWarnings();
72
$lastmod = filemtime( $this->filename );
73
Wikimedia\restoreWarnings();
74
if
( $lastmod ===
false
) {
75
if
( $this->timestamp ===
false
) {
76
# Still nonexistent
77
return
false
;
78
}
79
80
# Deleted
81
wfDebug
(
"Dependency triggered: {$this->filename} deleted.\n"
);
82
83
return
true
;
84
}
85
86
if
( $lastmod > $this->timestamp ) {
87
# Modified or created
88
wfDebug
(
"Dependency triggered: {$this->filename} changed.\n"
);
89
90
return
true
;
91
}
92
93
# Not modified
94
return
false
;
95
}
96
}
wfDebug
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
Definition
GlobalFunctions.php:913
CacheDependency
Definition
CacheDependency.php:27
FileDependency
Definition
FileDependency.php:27
FileDependency\$filename
$filename
Definition
FileDependency.php:28
FileDependency\__construct
__construct( $filename, $timestamp=null)
Create a file dependency.
Definition
FileDependency.php:43
FileDependency\__sleep
__sleep()
Definition
FileDependency.php:51
FileDependency\$timestamp
$timestamp
Definition
FileDependency.php:29
FileDependency\isExpired
isExpired()
Definition
FileDependency.php:70
FileDependency\loadDependencyValues
loadDependencyValues()
Hook to perform any expensive pre-serialize loading of dependency values.
Definition
FileDependency.php:57
includes
cache
dependency
FileDependency.php
Generated on Mon Nov 25 2024 16:04:57 for MediaWiki by
1.10.0