* it will be generated with the callback function (if present), and the newly
* calculated value will be stored to the cache in a wrapper.
*
- * @param BagOStuff $cache A cache object such as $wgMemc
+ * @param BagOStuff $cache A cache object
* @param string $key The cache key
* @param int $expiry The expiry timestamp or interval in seconds
* @param bool|callable $callback The callback for generating the value, or false
function loadDependencyValues() {
if ( is_null( $this->timestamp ) ) {
- if ( !file_exists( $this->filename ) ) {
- # Dependency on a non-existent file
- # This is a valid concept!
- $this->timestamp = false;
- } else {
- $this->timestamp = filemtime( $this->filename );
- }
+ MediaWiki\suppressWarnings();
+ # Dependency on a non-existent file stores "false"
+ # This is a valid concept!
+ $this->timestamp = filemtime( $this->filename );
+ MediaWiki\restoreWarnings();
}
}
* @return bool
*/
function isExpired() {
- if ( !file_exists( $this->filename ) ) {
+ MediaWiki\suppressWarnings();
+ $lastmod = filemtime( $this->filename );
+ MediaWiki\restoreWarnings();
+ if ( $lastmod === false ) {
if ( $this->timestamp === false ) {
# Still nonexistent
return false;
return true;
}
} else {
- $lastmod = filemtime( $this->filename );
if ( $lastmod > $this->timestamp ) {
# Modified or created
wfDebug( "Dependency triggered: {$this->filename} changed.\n" );