phariscope / event
用PHP实现领域驱动开发或其他风格的项目的事件处理
1.1.0
2024-02-29 22:34 UTC
Requires
- php: >=8.1
Requires (Dev)
- infection/extension-installer: 0.1.2
- infection/infection: ^0.27
- phpstan/phpdoc-parser: ^1.20
- phpstan/phpstan: 1.10.15
- phpunit/phpunit: ^10
- squizlabs/php_codesniffer: 3.*
README
composer require phariscope/event
用法
步骤如下
- 创建一个领域事件(名称 + 过去式动词,例如:
AccountCreated
继承自EventAbstract
)。 - 发布此事件。
- 分发事件。
其他地方
- 在事件处创建一个订阅者(例如:类 SendEmailWhenAccountCreatedSubscriber 实现 EventSubscriber)
- 注册订阅者,当事件分发时,订阅者将处理它并执行所需操作
为pharsicope/Event做出贡献
要求
- docker
- git
安装
- git clone git@github.com:phariscope/Event.git
单元测试
bin/phpunit
使用测试驱动开发(TDD)原则(感谢Kent Beck和其他人),遵循良好实践(感谢Uncle Bob和其他人)以及C. Buenosvinos、C. Soronellas、K. Akbary合著的《PHP中的DDD》一书。
质量
- phpcs PSR12
- phpstan等级9
- 覆盖率100%
- infection MSI >99%
快速检查
./codecheck
使用以下方法检查覆盖率
bin/phpunit --coverage-html var
并在浏览器中查看 'var/index.html' 文件
使用以下方法检查infection
bin/infection
并在浏览器中查看 'var/infection.html' 文件