Event listener that stores transformed images to disk. By using this listener Imbo will only have to generate each transformation once. The listener is also responsible for deleting images from the cache when the original images are deleted through the API. The values used to generate the unique cache key for each image are: - user - image identifier - normalized accept header - image extension (can be null) - image transformations (can be null)
Author: Christer Edvartsen (cogo@starzinger.net)
Inheritance: implements Imbo\EventListener\ListenerInterface
コード例 #1
0
 /**
  * @covers Imbo\EventListener\ImageTransformationCache::deleteFromCache
  * @covers Imbo\EventListener\ImageTransformationCache::getCacheDir
  * @covers Imbo\EventListener\ImageTransformationCache::rmdir
  */
 public function testCanDeleteAllImageVariationsFromCache()
 {
     $cachedFiles = array('vfs://cacheDir/p/u/b/publicKey/7/b/f/7bf2e67f09de203da740a86cd37bbe8d/3/0/f/30f0763c8422360d10fd84573dd58293', 'vfs://cacheDir/p/u/b/publicKey/7/b/f/7bf2e67f09de203da740a86cd37bbe8d/3/0/e/30e0763c8422360d10fd84573dd58293', 'vfs://cacheDir/p/u/b/publicKey/7/b/f/7bf2e67f09de203da740a86cd37bbe8d/3/0/d/30d0763c8422360d10fd84573dd58293');
     foreach ($cachedFiles as $file) {
         @mkdir(dirname($file), 0775, true);
         file_put_contents($file, 'image data');
         $this->assertTrue(is_file($file));
     }
     $this->listener->deleteFromCache($this->event);
     foreach ($cachedFiles as $file) {
         $this->assertFalse(is_file($file));
     }
     $this->assertFalse(is_dir('vfs://cacheDir/p/u/b/publicKey/7/b/f/7bf2e67f09de203da740a86cd37bbe8d'));
     $this->assertTrue(is_dir('vfs://cacheDir/p/u/b/publicKey/7/b/f'));
 }