feser / domain-events
简单的领域事件实现
dev-master / 1.0.x-dev
2015-06-26 21:22 UTC
Requires (Dev)
- fabpot/php-cs-fixer: ^1.9
- phpspec/phpspec: ^2.2
This package is not auto-updated.
Last update: 2024-09-18 09:00:23 UTC
README
这是一个非常简单的领域事件实现。
用法
<?php namespace Domain\User; use \Fesor\DomainEvent\DomainEvents; class User { use DomainEvents; private $email; private $password; public function __constructor(Email $email, Password $password) { $this->email = $email; $this->password = $password; // remember event $this->rememberThat(new UserRegistered($this)); } }
现在我们可以知道在请求过程中我们的实体发生了什么。
$user = new User(new Email($email), new Password($password)); $events = $user->releaseEvents(); // will return array with UserRegistered event $tryAgain = $user->releaseEvents(); // will return empty array, since we already released all events $dispatcher = new EventDispatcher(); $dispatcher->dispatch($events);