Flysystem Resolver
FlysystemResolver
解析器允许使用 Flysystem 文件系统抽象层进行缓存解析。
依赖
此缓存解析器使用 League
在任何 Flysystem 支持的源上缓存文件。Flysystem 由 league/flysystem
包提供,但设置服务的最简单方法是使用 flysystem bundles 之一。您可以使用 OneupFlysystemBundle 或 The League FlysystemBundle。两者都允许您将文件系统定义为服务,LiipImagineBundle 不关心您使用哪一个。
要安装 OneupFlysystemBundle,请运行以下 composer 命令
1
$ composer require oneup/flysystem-bundle
配置
filesystem_service
的值必须是 League
类的服务 ID。服务名称取决于 bundle 的命名方案,对于 The League FlysystemBundle,它将与以下示例不同。
使用 OneupFlysystemBundle,基本配置可能如下所示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# app/config/config.yml
liip_imagine:
resolvers:
profile_photos:
flysystem:
filesystem_service: oneup_flysystem.profile_photos_filesystem
root_url: "https://images.example.com"
cache_prefix: media/cache
visibility: public
oneup_flysystem:
adapters:
profile_photos:
local:
directory: "path/to/profile/photos"
filesystems:
profile_photos:
adapter: profile_photos
有几个配置选项可用
root_url
:必须是 flysystem 适配器指向的目标系统的有效 URL。这用于确定应如何在请求时生成 URL。默认值:null
cache_prefix
:这用于图像路径生成。这将是给定 Flysystem 内的前缀。默认值:media/cache
visibility
:两个预定义的 flysystem 可见性常量之一 (Visibility::PUBLIC
/Visibility::PRIVATE
或如果您使用 flysystem 1.*AdapterInterface::VISIBILITY_PUBLIC
[public
] /AdapterInterface::VISIBILITY_PRIVATE
[private
]) 可见性在对象存储在 flysystem 文件系统上时应用。您很可能希望保留默认值或显式设置public
。默认值:public
用法
配置 FlysystemResolver
后,您可以将其设置为 LiipImagineBundle
的默认缓存解析器,使用以下配置。
1 2 3 4
# app/config/config.yml
liip_imagine:
cache: profile_photos
在特定过滤器上的用法
或者,您可以将其设置为特定过滤器集的缓存解析器,使用以下配置。
1 2 3 4 5 6 7 8 9
# app/config/config.yml
liip_imagine:
filter_sets:
cache: ~
my_thumb:
cache: profile_photos
filters:
# the filter list
这项工作,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。