nepada/message-bus-nette

nepada/message-bus 与 Nette 框架的集成。

v2.4.0 2024-04-06 16:53 UTC

This package is auto-updated.

Last update: 2024-09-01 11:38:56 UTC


README

Build Status Coverage Status Downloads this Month Latest stable

安装

通过 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