antismok / domain-events-publisher
基于symfony分发组件实现的领域事件发布者
1.1
2018-11-08 02:34 UTC
Requires
- php: ^7.1
- symfony/event-dispatcher: *
Requires (Dev)
- phpunit/phpunit: ^7.4
This package is auto-updated.
Last update: 2024-09-08 15:56:35 UTC
README
基于symfony分发组件实现的不可变领域事件发布者。
查看https://symfony.com.cn/doc/current/components/event_dispatcher.html
用法
//.... use Antismok\DomainEventPublisher\DomainEvent; class UserRegistered implements DomainEvent { private $occurredOn; /** * @var string $user */ private $userName; /** * @param string $userName */ function __construct(string $userName) { $this->useName = $userName; $this->occurredOn = new DateTime(); } public function username(): string { return $this->username; } public function occurredOn(): DateTime { return $this->occurredOn; } }
//.... class UserRegisteredHandler { public function handle(UserCreated $event) { //Some operation } }
//.... //Some config place DomainEventPublisher::getInstance()->addListener(UserRegistered::class, [new UserRegisteredHandler, 'handle']); //Some domain place DomainEventPublisher::getInstance()->publish(new UserRegistered('Roman'));