wearesho-team/yii2-filesystem

league/flysystem的Yii2集成

4.3.3 2022-11-14 15:42 UTC

README

Test & Lint Latest Stable Version Total Downloads codecov License

league/flysystem的集成league/flysystem用于Yii2。

默认情况下,它通过环境变量进行配置。开箱即用的可用集成

  • FTP - 应用于已弃用的系统
  • Local - 应用于开发
  • S3 - 应用于生产

配置

默认情况下,使用环境变量进行配置。要选择要使用的集成,您需要配置FILESYSTEM_ADAPTER变量。可用值:localftps3。(或另一个,如果您使用自定义引导配置)

S3适配器配置

本地适配器配置

FTP适配器配置

副本适配器配置

此适配器的目的是在少数适配器(任何AdapterInterface实现)上镜像文件

<?php

use Wearesho\Yii\Filesystem;

$adapter = new Filesystem\Replica\Adapter([
    'master' => [
        'class' => Filesystem\S3\Adapter::class,
    ],
    'slaves' => [
        // so much slaves
        [
            'class' => Filesystem\Ftp\Adapter::class,
        ],
    ],
]);

使用方法

引导

要开始使用此包,您需要将Bootstrap添加到您的Yii2应用程序中。

<?php

// common/config/main.php or another configuration file

use Wearesho\Yii\Filesystem;

return [
    'components' => [
        // ...
    ],
    'bootstrap' => [
        'class' => Filesystem\Bootstrap::class,
        'container' => true, // if you need to configure global DI container (\Yii::$container)
        'id' => 'fs', // \Yii::$app component to be configured. Filesystem will be available using \Yii::$app->fs
    ],
];

注意:对于高级使用,您可能需要自定义Bootstrap适配器和配置属性

文件系统类

您还可以使用Filesystem类进行yii2方式的配置

<?php

use Wearesho\Yii\Filesystem\Filesystem;
use Wearesho\Yii\Filesystem\AdapterInterface;

$fs = new Filesystem([
    'adapter' => [
        'class' => AdapterInterface::class, // or another implementation, if container not configured
    ],
]);

待办事项

  • 测试

许可证

MIT