gbprod / domain-event
此包已被废弃且不再维护。未建议替代包。
用于管理PHP领域驱动模型(DDD)应用中领域事件的库
v0.1.0
2016-03-11 18:18 UTC
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2020-06-07 07:57:05 UTC
README
用于管理PHP领域驱动模型(DDD)应用中领域事件的库。
使用方法
创建领域事件
<?php namespace GBProd\Acme\Event; use GBProd\DomainEvent\DomainEvent; class SomethingHappenedEvent implements DomainEvent { private $id; public function __construct($id) { $this->id = $id; } public function getAggregateId() { return $id; } }
引发事件
<?php namespace GBProd\Acme\Entity; use GBProd\DomainEvent\EventProvider; use GBProd\DomainEvent\EventProviderTrait; final class MyEntity implements EventProvider { use EventProviderTrait; public function doSomething() { $this->raise( new SomethingHappenedEvent($this->id) ); } }
派发事件
<?php namespace GBProd\Acme\Repository; use GBProd\DomainEvent\EventProvider; class MyEntityRepository { public function save(MyEntity $entity) { $this->persist($entity); $this->dispatcher->dispatch($entity); } }
要求
- PHP 5.5+
安装
使用Composer
composer require gbprod/domain-event