26/06
2015
dev-master
9999999-devSimple domain events implementation
MIT
The Development Requires
by Sergey Protko
Wallogit.com
2017 © Pedro Peláez
Simple domain events implementation
This is very simple implementation of domain events., (*1)
<?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));
}
}
Now we can know what happened with our entity during request:, (*2)
$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);
Simple domain events implementation
MIT