blacksmith-project / event-manager
该包已被弃用,不再维护。未建议替代包。
一个提供事件工具的PHP库
v0.1.0
2019-09-07 10:33 UTC
Requires (Dev)
- escapestudios/symfony2-coding-standard: ^3.9
- mnapoli/pretty: ^1.0
- phpstan/phpstan: ^0.11.15
- phpunit/phpunit: ^8.3
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2020-03-07 11:55:42 UTC
README
一个提供管理领域驱动设计事件工具的PHP库。
如何使用
让您的实体实现 \BSP\EventManager\IRegisterEvent 并使用 \BSP\EventManager\EventRegistration。
您的实体现在可以包含它自己的事件。
示例
class Entity implements IRegisterEvent { use EventRegistration; private $id; private function __construct(UuidInterface $id) { $this->id = $id; } public static method Register(UuidInterface $id): self { $entity = new self($id); $this->recordedEvents[] = new EntityRegistered($id); return $entity; } }
您现在可以访问 $entity->recordedEvents(),可以遍历这些,例如分发它们。
然后,您可以调用 $entity->clearRegisteredEvents() 来清除它们。