Redaxscript\Cache::clearInvalid PHP Method

clearInvalid() public method

clear the invalid cache
Since: 3.0.0
public clearInvalid ( integer $lifetime = 3600 ) : Cache
$lifetime integer lifetime of the bundle
return Cache
    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;
    }

Usage Example

Esempio n. 1
0
 /**
  * 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')));
 }