自定义缓存解析器
你可以定义自己的自定义缓存解析器,以使用你的存储后端处理缓存解析。创建自定义缓存解析器始于创建一个实现 ResolverInterface
接口的类
1 2 3 4 5 6 7
interface ResolverInterface
{
public function isStored($path, $filter);
public function resolve($path, $filter);
public function store(BinaryInterface $binary, $path, $filter);
public function remove(array $paths, array $filters);
}
一旦你定义了你的自定义缓存解析器,你需要将其定义为一个服务并使用 liip_imagine.cache.resolver
标签标记它
1 2 3 4 5 6 7 8 9 10
# app/config/services.yml
services:
imagine.cache.resolver.my_custom:
class: App\Service\MyCustomResolver
arguments:
- "@filesystem"
- "@router"
tags:
- { name: "liip_imagine.cache.resolver", resolver: my_custom_cache }
注意
有关服务容器的更多信息,请参考官方 Symfony 服务容器文档。
现在,你的自定义缓存解析器可以设置为全局默认值,使用在 tags
键的 resolver
属性中定义的名称。
1 2
liip_imagine:
cache: my_custom_cache
或者,你也可以仅为特定的过滤器集设置自定义缓存解析器
1 2 3 4
liip_imagine:
filter_sets:
my_special_style:
cache: my_custom_cache
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。