knplabs / knp-gaufrette-bundle
允许在Symfony项目中轻松使用Gaufrette库
v0.9.0
2023-12-18 09:53 UTC
Requires
- php: ^7.4 || ^8.0
- knplabs/gaufrette: ^0.11
- symfony/config: ^5.0|^6.0|^7.0
- symfony/dependency-injection: ^5.0|^6.0|^7.0
- symfony/http-kernel: ^5.0|^6.0|^7.0
Requires (Dev)
- symfony/console: ^5.0|^6.0|^7.0
- symfony/filesystem: ^5.0|^6.0|^7.0
- symfony/phpunit-bridge: ^7.0
- symfony/yaml: ^5.0|^6.0|^7.0
README
为您的Symfony项目提供Gaufrette集成。
关于Gaufrette
Gaufrette是一个PHP库,提供了一个文件系统抽象层。这个抽象层允许您开发应用程序,而无需知道所有媒体文件将存储在哪里或如何存储。
有关Gaufrette的文档可以在Gaufrette官方页面上找到。
安装
先决条件
由于此包是Gaufrette库的Symfony集成,因此您需要首先在项目中安装Gaufrette。
请注意,您需要单独安装您想要使用的适配器。您可以在这里找到更多关于这些包的详细信息,以及在Packagist上的完整适配器列表这里。
使用Composer
composer require knplabs/knp-gaufrette-bundle
注册包
您必须在您的内核中注册此包
<?php return [ // ... Knp\Bundle\GaufretteBundle\KnpGaufretteBundle::class => ['all' => true], ];
配置
Gaufrette包允许您声明文件系统作为服务,而无需触及著名的“服务容器”。实际上,您可以通过配置来完成此操作!
Gaufrette包的配置分为两部分:适配器(adapters)和文件系统(filesystems)。
配置适配器
# config/packages/knp_gaufrette.yaml knp_gaufrette: adapters: foo: local: directory: /path/to/my/filesystem
定义的适配器将用于创建文件系统。
您可以使用以下适配器之一
- 本地适配器
- 安全本地适配器
- 服务
- 内存
- Azure Blob存储
- GridFS
- MogileFS
- FTP
- SFTP
- Phpseclib SFTP
- APC
- AsyncAws S3
- AWS S3
- Open Cloud
- GoogleCloudStorage
- 缓存
- 流包装器
- Doctrine DBAL
- Dropbox
配置文件系统
# config/packages/knp_gaufrette.yaml knp_gaufrette: adapters: # ... filesystems: bar: adapter: foo alias: foo_filesystem
每个定义的文件系统都必须有一个adapter
,其值设置为适配器的键。上面定义的文件系统将生成一个ID为gaufrette.bar_filesystem
的服务。alias
参数允许我们为它定义别名(在这种情况下为foo_filesystem
)。
文件系统映射
您可以通过映射服务访问所有声明的文件系统。在上面的例子中,我们声明了一个bar
文件系统
$container->get('knp_gaufrette.filesystem_map')->get('bar');
返回bar
的Gaufrette\Filesystem
实例。
用例
查看库的基本示例。
维护者
KNPLabs正在寻找维护者(为什么)。
如果您感兴趣,请随时打开PR请求被添加为维护者。
我们很高兴听到您的反馈 :)