跳到内容

Flysystem Resolver

编辑此页

FlysystemResolver 解析器允许使用 Flysystem 文件系统抽象层进行缓存解析。

依赖

此缓存解析器使用 League\\Flysystem\\Filesystem 在任何 Flysystem 支持的源上缓存文件。Flysystem 由 league/flysystem 包提供,但设置服务的最简单方法是使用 flysystem bundles 之一。您可以使用 OneupFlysystemBundleThe League FlysystemBundle。两者都允许您将文件系统定义为服务,LiipImagineBundle 不关心您使用哪一个。

要安装 OneupFlysystemBundle,请运行以下 composer 命令

1
$ composer require oneup/flysystem-bundle

配置

filesystem_service 的值必须是 League\\Flysystem\\Filesystem 类的服务 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 许可获得许可。
目录
    版本