becklyn / ddd-file-store
Becklyn项目使用的文件存储引擎
4.0.0
2023-05-17 08:52 UTC
Requires
- php: >=8.1
- becklyn/ddd-doctrine-bridge: ^3.0
- becklyn/ddd-symfony-bridge: ^3.0 || ^4.0
- doctrine/doctrine-bundle: ^2.4
- doctrine/migrations: ^3.0
- doctrine/orm: ^2.10
- psr/log: ^1.0 || ^2.0 || ^3.0
- ramsey/uuid: ^4.0
- symfony/config: ^6.0
- symfony/dependency-injection: ^6.0
- symfony/filesystem: ^6.0
- symfony/http-foundation: ^6.0
Requires (Dev)
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.5
README
这个库提供使用Becklyn DDD框架的文件存储功能。
需求
必须在项目中启用命令处理器和事件订阅者。有关如何设置的详细信息,请参阅becklyn/ddd-symfony-bridge文档。
安装
- 运行
composer require becklyn/ddd-file-store
- 将以下内容添加到bundles.php中
Becklyn\Ddd\FileStore\BecklynFileStoreBundle::class => ['all' => true],
- 提供了一个Doctrine迁移。通过运行
php bin/console doctrine:migrations:migrate
来执行它。 - 如果命令处理器应该记录错误,将以下内容添加到services.yaml中
becklyn_ddd.file_store.handler.create_file:
class: Becklyn\Ddd\FileStore\Application\CreateFileHandler
arguments:
$logger: '@YOUR_PSR_LOGGER_INTERFACE_COMPLIANT_SERVICE_HERE'
tags:
- { name: command_handler, register_public_methods: true }
becklyn_ddd.file_store.handler.replace_file_contents:
class: Becklyn\Ddd\FileStore\Application\ReplaceFileContentsHandler
arguments:
$logger: '@YOUR_PSR_LOGGER_INTERFACE_COMPLIANT_SERVICE_HERE'
tags:
- { name: command_handler, register_public_methods: true }
如何使用
通过通过命令总线派发CreateFileCommand和ReplaceFileContentsCommand将文件保存到文件存储中。通过使用FileManager类的load方法读取文件。通过通过命令总线派发DeleteFileCommand来删除文件。默认情况下,由库创建的文件将存储在%kernel_project_root%/var/becklyn-files文件夹中。这可以通过配置来更改。
配置
要更改配置选项的默认值,请在config/packages文件夹中创建一个becklyn_ddd.file_store.yaml文件,并包含以下内容
becklyn_ddd.file_store:
option_name: value
option_namespace_1:
namespaced_option_name: value
可用选项
filesystem.base_path
- 类型:字符串
- 默认:'%kernel_project_root%/var/becklyn-files'
这是文件将被保存到的文件夹。