bravesheep / flysystem-url-bundle
此包已被弃用且不再维护。未建议替代包。
FlySystem URL bundle 通过指定 URL 参数生成 flysystem 服务
v0.1.1
2016-07-21 14:05 UTC
Requires
- php: >=5.6.0
- symfony/config: ^2.3|^3.0
- symfony/dependency-injection: ^2.3|^3.0
- symfony/http-kernel: ^2.3|^3.0
Requires (Dev)
- phpunit/phpunit: ^5.3
Suggests
- league/flysystem: ^1.0.0
- oneup/flysystem-bundle: ^1.3.0
This package is auto-updated.
Last update: 2022-11-25 20:45:27 UTC
README
一个基于 symfony 配置中指定的 URL 创建 flysystem 服务的 Symfony 包。
安装和配置
使用 Composer,通过 require 命令将包添加到依赖中:composer require bravesheep/flysystem-url-bundle
。
将包添加到 AppKernel
在 app/AppKernel.php
中添加包。**注意**:为了让其他使用该包的包能够获取到该包定义的参数,您需要将其放在这些包之前。下面将提供更多信息。
public function registerBundles() { return array( // ... new Bravesheep\FlysystemUrlBundle\BravesheepFlysystemUrlBundle(), // ... ); }
配置包
对于此包,您需要配置要使用的 URL 以及生成的服务的服务名称。下面是一个示例配置,其中 media_fs_url
参数(您可以在 parameters.yml
中添加,例如)为您生成一个 flysystem 适配器服务。
bravesheep_flysystem_url: urls: # Generates media_fs_adapter.adapter service media: url: %media_fs_url% prefix: media_fs_adapter
接受的 URL 格式
接受多种 URL 格式,以下是支持的 URL 格式的简要概述
local:///path/to/directory
或file:///path/to/directory
用于本地文件系统存储。对于本地 URL,需要一个绝对路径。例如使用kernel.root_dir
参数:file://%kernel.root_dir%/../web/media
。可以使用lock
查询参数来指示不同的锁定行为:local:///path/to/directory?lock=false
。可以使用file_perm
参数设置公共文件权限:local:///path/to/directory?file_perm=0744
。同样,file_perm_private
、dir_perm
和dir_perm_private
参数也可用。ftp://user:pass@host:port/path/to/dir
用于 FTP 使用。另外,可以使用ftps
方案进行 SSL 加密的 FTP。sftp://user:pass@host:port/path/to/dir?keyfile=path/to/keyfile
或使用相同的操作指定ssh
方案。dropbox://access_token:app_secret@dropbox.com
用于 Dropbox 访问。s3://key:secret@region/bucket
用于 Amazon AWS S3。另外,还有awss3
和awss3v3
方案可用。对于 AWS API 的 v2 版本,您可以使用awss3v2
作为方案。null://
或仅null
可用于测试存储适配器,该适配器不存储任何内容。zip:///path/to/file.zip
可用于本地 zip 访问。webdav://user:pass@host:port/path/to/dir
可用于 WebDAV 访问。也可以使用http://user:pass@host:port/path/to/dir
或https://user:pass@host:port/path/to/dir
。
额外的变量编码
默认情况下,此包不仅创建一个 flysystem 适配器服务,还可以生成一些额外的参数,您可以直接使用这些参数。
默认情况下,此组件会生成一个参数,您可以使用该参数在OneupFlysystemBundle中作为适配器的值。
oneup_flysystem: adapters: media_adapter: %media_fs_adapter.oneup_adapter_params%
默认情况下,如果组件能自动确定该URL,它还会为一些服务生成一个公开的前缀URL。例如,您可以使用它与VichUploaderBundle一起使用。
vich_uploader: mappings: example: upload_destination: media_fs uri_prefix: %media_fs_adapter.public_url_prefix%
如果您不需要这些参数,您可以在此组件的配置中更改它们。
bravesheep_flysystem_url: urls: example: url: %example_param% prefix: example_fs_prefix encoders: [] # In this case no parameter encoders are used, only the service is generated