antismok / domain-events-publisher-bundle
用于领域事件发布的symfony扩展包
v1.1
2018-10-29 01:19 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 05:08:36 UTC
README
用于领域事件发布的symfony扩展包
订阅领域事件
some_domain_listener: class: Antismok\Identity\Application\UserCreatedHandler tags: - { name: domain.event_listener, event: Antismok\Identity\Domain\UserCreatedEvent, method: handle}
declare(strict_types=1); namespace Antismok\Identity\Application; use Antismok\Identity\Domain\UserCreatedEvent; class UserCreatedHandler { public function handle(UserCreatedEvent $event) { //.... } }
在模型中调用
<?php declare(strict_types=1); namespace Antismok\Identity\Domain\Model; use Antismok\DomainEventPublisher\DomainEventPublisher; use Antismok\Identity\Domain\UserCreatedEvent; class User { public function register(string $id, string $login): void { //..... DomainEventPublisher::getInstance() ->publish(new UserCreatedEvent($id, $login)) ; } }
您可以使用依赖注入服务 @domain_event_dispatcher 或 @Antismok\DomainEventPublisher\DomainEventPublisher