public clearInvalid ( integer $lifetime = 3600 ) : |
||
$lifetime | integer | lifetime of the bundle |
return |
public function clearInvalid($lifetime = 3600)
{
$cacheDirectory = new Directory();
$cacheDirectory->init($this->_directory);
$cacheDirectoryArray = $cacheDirectory->getArray();
/* process cache */
foreach ($cacheDirectoryArray as $value) {
$path = $this->_directory . '/' . $value;
if (is_file($path) && !$this->_validateFile($path, $lifetime)) {
$cacheDirectory->remove($value);
}
}
return $this;
}
/** * testClearInvalid * * @since 3.0.0 */ public function testClearInvalid() { /* setup */ $cache = new Cache(); $cache->init(Stream::url('root'), 'cache')->store('test1', 'test')->store('test2', 'test')->store('test3', 'test')->store('test4', 'test'); touch($cache->getPath('test1'), time() - 3600); touch($cache->getPath('test2'), time() - 3600); touch($cache->getPath('test3'), time() - 3600); $cache->clearInvalid(); /* compare */ $this->assertFalse(is_file($cache->getPath('test1'))); $this->assertFalse(is_file($cache->getPath('test2'))); $this->assertFalse(is_file($cache->getPath('test3'))); $this->assertTrue(is_file($cache->getPath('test4'))); }