nepada / message-bus-nette
nepada/message-bus 与 Nette 框架的集成。
v2.4.0
2024-04-06 16:53 UTC
Requires
- php: >=8.2.0 <8.4
- nepada/message-bus: ^2.2@dev || ^3.0@dev
- nette/di: ^3.0.9@dev
- nette/schema: ^1.2.2@dev
- nette/utils: ^3.2.5@dev || ^4.0@dev
- psr/container: ^1.1 || ^2.0
- symfony/messenger: ^5.0@dev || ^6.0@dev || ^7.0@dev
Requires (Dev)
- composer-runtime-api: ^2.0
- composer/semver: 3.4.0
- doctrine/dbal: >=2.13.3
- doctrine/orm: >=2.13
- nepada/coding-standard: 7.14.0
- nepada/message-bus-doctrine: ^2.1@dev
- nepada/phpstan-nette-tester: 1.2.0
- nette/bootstrap: >=3.1@dev
- nette/robot-loader: >=3.3.1@dev
- nette/tester: 2.5.2
- php-parallel-lint/php-parallel-lint: 1.4.0
- phpstan/phpstan: 1.10.66
- phpstan/phpstan-nette: 1.2.9
- phpstan/phpstan-strict-rules: 1.5.3
- shipmonk/phpstan-rules: 2.12.0
- spaze/phpstan-disallowed-calls: 3.1.2
- symfony/cache: >=6.0
This package is auto-updated.
Last update: 2024-09-01 11:38:56 UTC
README
安装
通过 Composer
$ composer require nepada/message-bus-nette
在 config.neon
中注册扩展
extensions: messageBus: Nepada\MessageBusNette\DI\MessageBusExtension
使用方法
有关核心库的文档,请参阅 nepada/message-bus。
日志记录
扩展尝试自动将 PSR 兼容的日志记录器连接到日志中间件。如果这不起作用,请明确指定配置中的日志记录器服务
messageBus: logger: @myLoggerService
嵌套命令处理
默认情况下不允许嵌套命令处理,这可以在配置中更改
messageBus: allowNestedCommandHandling: true
Doctrine
Doctrine ORM 为消息总线提供的特定功能由 nepada/message-bus-doctrine 包提供。有关更详细的文档,请点击链接。安装包后,它将被 DI 扩展检测到,并设置所有必要的服务。
与 Doctrine 集成
- 所有命令都在事务中处理,所有更改在处理程序成功完成后自动刷新和提交,或在出错时回滚
- 禁止在命令总线外启动数据库事务
- 实体管理器在每个命令处理前后(可选)清除。
更改或完全禁用默认的实体管理器清除逻辑
messageBus: clearEntityManager onStart: false onSuccess: false onError: false
您可以在实现 Nepada\Bridges\MessageBusDoctrine\Events\ContainsRecordedEvents
的实体中记录您的领域事件,它们将在刷新时自动收集和分发。
提示:使用 SearchExtension 自动注册命令处理程序和事件订阅者
search: messageBusHandlers: in: %appDir% implements: - Nepada\MessageBus\Commands\CommandHandler - Nepada\MessageBus\Events\EventSubscriber