缓存解析器 (已弃用)
CacheResolver
不能单独使用。相反,它是另一个解析器的“包装器”。
配置
首先,您需要设置所需的服务。在本例中,我们将 AmazonS3Resolver
的实例包装在此解析器中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
# app/config/services.yml
services:
acme.amazon_s3:
class: AmazonS3
arguments:
-
key: "%amazon_s3.key%"
secret: "%amazon_s3.secret%"
acme.imagine.cache.resolver.amazon_s3:
class: Liip\ImagineBundle\Imagine\Cache\Resolver\AmazonS3Resolver
arguments:
- "@acme.amazon_s3"
- "%amazon_s3.bucket%"
memcache:
class: Memcache
calls:
- [ connect, [ "127.0.0.1", 11211 ] ]
cache.memcache:
class: Doctrine\Common\Cache\MemcacheCache
calls:
- [ setMemcache, [ "@memcache" ] ]
acme.imagine.cache.resolver.amazon_s3.cache:
class: Liip\ImagineBundle\Imagine\Cache\Resolver\CacheResolver
arguments:
- "@cache.memcache"
- "@acme.imagine.cache.resolver.amazon_s3"
- { prefix: "amazon_s3" }
tags:
- { name: "liip_imagine.cache.resolver", resolver: "cached_amazon_s3" }
有三个选项可用
global_prefix
:缓存中所有键的前缀。当为不同系统使用相同的缓存时,这对于避免键冲突很有用。prefix
:此包装器的“本地”前缀。当为多个过滤器重用相同的解析器时,这很有用。这主要影响 clear 方法。index_key
:用于保存关于一个图像和过滤器配对的已创建缓存键列表的索引键的名称。
用法
配置 CacheResolver
后,您可以将其设置为 LiipImagineBundle
的默认缓存解析器,使用以下配置。
1 2 3 4
# app/config/config.yml
liip_imagine:
cache: cached_amazon_s3
在特定过滤器上的用法
或者,您可以将 CacheResolver
设置为特定过滤器集的缓存解析器,使用以下配置。
1 2 3 4 5 6 7 8 9
# app/config/config.yml
liip_imagine:
filter_sets:
cache: ~
my_thumb:
cache: cached_amazon_s3
filters:
# the filter list
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。