wyrihaximus/fly-pie

CakePHP 5 的 Flysystem 集成插件

资助包维护!
WyriHaximus

安装数: 180 833

依赖项: 0

建议者: 0

安全性: 0

星标: 38

关注者: 4

分支: 10

开放问题: 3

类型:cakephp-plugin

4.0.0 2023-12-16 12:36 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

特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人(“用户”)免费使用软件的权利,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人这样做,前提是满足以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明确的还是隐含的,包括但不限于适销性、适用于特定目的和不侵犯知识产权的保证。在任何情况下,作者或版权持有人不应对任何索赔、损害或其他责任负责,无论这些责任是因合同行为、侵权或其他行为而产生的,以及与该软件或该软件的使用或其他处置有关的任何责任。