antismok / domain-events-publisher
Publisher of domain events implemented on symfony dispatcher component
Package info
github.com/antismok/domain-events-publisher
pkg:composer/antismok/domain-events-publisher
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: 2026-03-08 19:20:54 UTC
README
Publisher of immutable domain events implemented on symfony dispatcher component.
See https://symfony.com/doc/current/components/event_dispatcher.html
Usage
//.... 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'));