riverline / predaddy-bundle
将 predaddy DDD/CQRS 库集成到 Symfony2 应用程序中
2.0.0
2017-12-04 11:12 UTC
Requires
- php: >=7.0
- doctrine/doctrine-bundle: ~1.2
- doctrine/orm: ~2.4
- lf4php/lf4php-monolog: 3.0.*
- predaddy/predaddy: ~1.2
- symfony/dependency-injection: ~2.3
- symfony/framework-bundle: ~2.3
- trf4php/trf4php-doctrine: ~1.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-07 05:26:57 UTC
README
什么是 Riverline\PredaddyBundle
`Riverline\PredaddyBundle
` 有助于将 predaddy 组件集成到 Symfony2 应用程序中。
要求
- PHP 7.x
- Symfony 2.x
安装
`Riverline\PredaddyBundle
` 与 composer 和任何 psr-4 自动加载器兼容
配置
riverline_predaddy:
command_bus:
app_command_bus_1: # Specify multiple command bus names
transaction_manager: predaddy.transaction_manager # Transaction manager service id
event_bus:
app_event_bus_1: # Specify multiple event bus names
transaction_manager: predaddy.transaction_manager # Transaction manager service id
app_event_bus_2: # Specify multiple event bus names
transaction_manager: predaddy.transaction_manager # Transaction manager service id
transaction_manager:
class: trf4php\doctrine\DoctrineTransactionManager # (default value)
entity_manager: doctrine.orm.entity_manager # Doctrine entity manager service id (default value)
annotation_reader: annotation_reader # (default value)
您可以使用以下服务 ID 在您的服务中使用 command_bus
$this->getContainer()->get("riverline.predaddy_bundle.command_bus.app_command_bus_1")
并且对于事件总线
$this->getContainer()->get("riverline.predaddy_bundle.command_bus.app_command_bus_1")
日志记录
`Riverline\PredaddyBundle
` 将 Symfony2 的 'logger' 服务作为根记录器(仅支持 Monolog 记录器)。
用法
将命令和事件处理程序定义为容器服务,并添加标签以注册到总线上。
services:
## EVENT HANDLERS
my.cqrs.event_handler.something:
class: My\Vendor\SomethingEventHandler
tags:
- { name: predaddy.event_handler, channel: command_bus_1 } # Channel is optionnel only if you have only once command bus
## COMMAND HANDLERS
my.cqrs.command_handler.something:
class: My\Vendor\SomethingEventHandler
tags:
- { name: predaddy.command_handler, channel: event_bus_2 } # Channel is optionnel only if you have only once event bus
测试
$ ./vendor/bin/phpunit
限制/已知问题
- 仅与 Predaddy 1.2 一起工作
- 仅支持 Monolog 记录器
- 以及其他...
许可证
查看 Resources/meta/LICENSE