knplabs/gaufrette

PHP库,提供文件系统抽象层

v0.11.1 2022-11-03 17:26 UTC

README

Stand With Ukraine

Gaufrette提供文件系统抽象层。

Build Status Quality Score Packagist Version Total Downloads Software License Join the chat at Gitter

为什么使用Gaufrette?

想象一下,你需要在PHP项目中管理大量媒体。让我们看看如何利用Gaufrette来利用这种状况。

文件系统抽象层允许你在不知道所有媒体将存储在哪里以及如何存储的情况下开发应用程序。

此方法的另一个优点是,您可以在不影响文件系统定义之外的代码的情况下更新文件的存储位置。例如,如果您的项目发展非常快,并且服务器达到其限制,您可以轻松地将媒体移动到Amazon S3服务器或其他任何解决方案。

文档

阅读官方Gaufrette文档

适配器的元包

每个维护的适配器现在都有一个专门的元包。您可以在Packagist上找到列表。**我们强烈建议您使用它们,因为它们包含它们自己的要求**:您不再需要担心在使用Gaufrette之前安装第三方依赖项。

Symfony集成

Symfony集成通过KnpLabs/KnpGaufretteBundle提供。

维护者

以下是每个未废弃适配器的专属维护者列表。如果您在及时收到对您的任何问题或拉取请求的响应,请提醒我们

对于InMemoryLocalZip适配器,此列表中的每个人都被视为维护者。

开发

需要

  • docker-ce
  • docker-compose
  1. 创建.env文件
$ make docker.dev

并按需进行配置。

  1. 构建PHP Docker镜像
$ make docker.build
  1. 安装依赖项
$ make docker.all-deps
  1. 运行测试
$ make docker.tests

您也可以使用不同的PHP版本,只需在调用make目标时将PHP_VERSION环境变量设置为以下值之一即可

  • 7.1
  • 7.2(默认)
  • 7.3(PHP 7.3的Docker设置可用。但是,ssh2扩展尚未安装,因为PHP 7.3尚不可用[1]

有关详细信息,请参阅docker-compose.yml文件。

在从一种版本切换到另一种版本时,您需要清除之前安装的依赖项。要执行此操作,请运行

$ make clear-deps
$ PHP_VERSION=<the_version_you_want_to_use> make build install-deps
  1. 应用编码标准

您应该使用

$ make php-cs-compare

检查CS违规行为,并用

$ make php-cs-fix

进行修复

注意