wyrihaximus / fly-pie
CakePHP 5 的 Flysystem 集成插件
Requires
- php: ^8.1
- cakephp/cakephp: ^5.0.0
- league/flysystem: ^3.0
Requires (Dev)
- cakephp/debug_kit: ^5.0.0
- cakephp/plugin-installer: ^2.0.1
- league/flysystem-async-aws-s3: ^3.0
- lorenzo/piping-bag: ^2.0
- phake/phake: 4.*
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^10.1.0
- ray/di: ^2.2
- squizlabs/php_codesniffer: ~3.7.0
Suggests
- league/flysystem-async-aws-s3: Needed to support the AsyncAwsS3Adapter Factory
- lorenzo/piping-bag: Dependencies Injection Container support
This package is auto-updated.
Last update: 2024-09-16 14:23:04 UTC
README
为 CakePHP 的轻量级 Flysystem 包装/配置插件。
下面是 CakePHP V4 核心版本兼容性矩阵。
安装
要通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其绑定到 ^
。
composer require wyrihaximus/fly-pie
引导
将以下内容添加到您的 config/bootstrap.php
中以加载插件。
Plugin::load('WyriHaximus/FlyPie', ['bootstrap' => true]);
配置
示例配置(对于 config/app_local.php
)
/** * FlySystem filesystems */ 'WyriHaximus' => [ 'FlyPie' => [ 's3_thumbnails' => [ 'adapter' => 'Local', 'vars' => [ __DIR__, // Path 'second option', 'third option', ], ], ], ],
首先它在 WyriHaximus.FlyPie
命名空间内,以确保它不会与其他插件冲突。其次,它是一个关联数组,其中每个键都是特定插件配置的别名。在我们的例子中是 s3_thumbnails
。因此,当您需要在项目中某个地方使用该文件系统时,您可以在 trait 上调用 $this->filesystem('s3_thumbnails');
。
要启用 DebugKit 中的文件系统面板,请添加以下配置
'DebugKit' => [ 'panels' => ['WyriHaximus/FlyPie.Filesystem'], ],
配置键
adapter
- 用于此文件系统的适配器名称或完整的类名vars
- 包含 FlyPie 构建适配器所需设置的数组。这是在创建适配器时直接传递给newInstanceArgs
的。(在您不使用工厂或提供客户端的情况下,这是必需的。)client
- 一个预先构建的客户端factory
- 一个回调,数组(类实例,方法名),字符串(静态类方法或函数名或事件名),可以用来作为工厂构建适配器url
- 数据源名称。类似于 URI 的连接字符串格式。下面有示例。
有关更多详细信息,请参阅config/config.sample.php
。
使用
FlyPie 附带 FilesystemsTrait
trait,让您轻松访问文件系统。trait 中的唯一方法 filesystem($alias)
提供了对您在配置中定义的适配器的访问。
例如,此操作列出所有具有缩略图的 S3
存储桶中的文件
$this->filesystem('s3_thumbnails')->listContents();
有关如何使用 Flysystem 的更多详细信息,请参阅其入门部分。
支持的适配器
默认情况下,只包含少数适配器。可以根据具体情况添加额外的适配器,作为额外的 composer 包。有关所有支持的适配器,请参阅:https://github.com/thephpleague/flysystem#commonly-used-adapters
示例数据源名称
CakePHP 版本兼容性矩阵
许可证
版权所有 2017 Cees-Jan Kiewiet
特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人(“用户”)免费使用软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人这样做,前提是满足以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明确的还是隐含的,包括但不限于适销性、适用于特定目的和不侵犯知识产权的保证。在任何情况下,作者或版权持有人不应对任何索赔、损害或其他责任负责,无论这些责任是因合同行为、侵权或其他行为而产生的,以及与该软件或该软件的使用或其他处置有关的任何责任。