opensoft / storage-bundle
一个基于文件且具有数据库级别文件跟踪功能的存储系统。
2.0.4
2019-05-28 16:46 UTC
Requires
- php: >=7.2
- ext-fileinfo: ^1.0
- doctrine/orm: ^2.5
- guzzlehttp/psr7: ^1.4.1
- knplabs/knp-paginator-bundle: ^2.5
- league/flysystem: ^1.0
- league/flysystem-aws-s3-v3: ^1.0
- lexik/form-filter-bundle: ^5.0
- psr/http-message: ^1.0
- symfony/asset: ^3.0|^4.0
- symfony/form: ^3.0|^4.0
- symfony/framework-bundle: ^3.0|^4.0
- symfony/security: ^3.0|^4.0
- symfony/validator: ^3.0|^4.0
- symfony/var-dumper: ^3.0|^4.0
- twig/twig: ^1.25|^2.0
Requires (Dev)
- aws/aws-sdk-php: ^3.29
- phpunit/phpunit: ^7.5
- zendframework/zenddiagnostics: ^1.0
This package is auto-updated.
Last update: 2024-08-28 21:03:39 UTC
README
原因
在 Symfony Bundle 生态系统中已经存在许多文件存储解决方案,但我们发现它们都缺乏我们用例所需的一些组合要求。作为我们核心业务的一部分,我们为涉及印刷的客户存储和处理许多不同类型的文件。由于这一要求,我们需要一个能够实现以下考虑的系统
- 为写入存储位置的文件提供一个稳定的抽象层。这些存储位置可以是本地的,也可以是基于云的。
- 对所有文件进行数据库级别的跟踪。我们应该能够轻松查询文件的数量、类型、大小以及它们存储在哪个存储位置。
- 正常数据库对象与存储文件之间强大的外键关系。这使我们能够确切地知道每个文件如何与数据库中的其他关系相关联,从而允许与这些文件相关联的级联行为。这也有助于我们防止那些没有正确链接到任何事物的孤立存储文件。
- 在不同存储位置之间随着时间的推移执行存储文件写入、删除和移动策略。
- 一个“永久URL”概念,可以解析存储文件的URL,无论它们存在于哪个存储系统。
为了实现这一目标,我们设计了 OpensoftStorageBundle 来为我们处理这些用例。它结合了来自 knplabs/gaufrette 的工具、用于存储、存储文件和存储策略的 Doctrine 实体、一些用于创建、更新、审查和查看存储文件的行政界面,以及一些 doctrine 监听器
然后,您的应用程序可以访问一个 storage_manager
服务,该服务处理将新文件存储到存储引擎的大多数用例。
文档
该捆绑包的文档可以在 Resources/doc 中找到
许可证
此捆绑包采用宽容的 MIT 许可证。我们欢迎改进它的 pull 请求!