rawkode / eidetic
该软件包已被弃用且不再维护。未建议替代软件包。
CQRS和EventSourcing软件包,适用于php >= 5.5
0.1.5
2015-12-09 20:14 UTC
Requires
- php: >=5.5
- doctrine/dbal: ^2.5
- symfony/event-dispatcher: ^2.7|^3.0
Requires (Dev)
- fabpot/php-cs-fixer: ^1.10
- phpspec/phpspec: ^2.1
- phpunit/phpunit: ^4.3
This package is auto-updated.
Last update: 2024-09-16 06:05:06 UTC
README
警告:由于时间限制,可能不会很快更新
Eidetic是一个适用于php >= 5.5的CQRS和EventSourcing库
非常初级的版本
请勿将此库用于任何重要的事情 - 它仅用于娱乐
为什么不使用Broadway?
是的 - 我看过Broadway,它是一个出色的软件包,但对我来说并不适合。
- 我应该能够使用EventStore / EventSourcing而不必承诺使用DDD(并非所有项目都适合!)
- 即使只是避免使用专业术语
- 我不总是想使用聚合模式
- 我更倾向于使用组合而非继承
- 我不太想为我的实体使用继承
- 我真的很不想为我的事件使用继承
此软件包应允许人们尝试使用反应式/事件驱动的系统,并考虑它们是否适合他们;即使只是为遗留应用程序设置EventStore以提供基本的审计跟踪。慢慢来,慢慢适应 - 然后直接深入!:)
状态
Eidetic目前正在初步开发中。目标是提供辅助工具,以便您可以在应用程序中实现CQRS和EventSourcing。
-
CQRS
- 编写模型存储库
- 事件存储
- 编写模型存储库
-
事件存储
- 内存
- Doctrine DBAL
-
事件订阅者
- Symfony2事件调度器
示例
示例可以在usr/share/doc/example
中找到
安装
composer require rawkode/eidetic
抱歉!由于目前此软件包处于非常实验性的阶段,请使用dev-master
。
测试
使用本地php版本进行测试
bin/phpunit
bin/phpspec run --format=pretty
使用Docker进行测试
docker-compose up testing-php-5.5
docker-compose up testing-php-5.6
docker-compose up testing-php-7.0
额外的测试?
docker-compose up testing-database-mysql
docker-compose up testing-database-postgres
如果您在这些测试中遇到问题,那是因为我们无法告诉Docker Compose在运行测试应用程序之前需要启动数据库服务器,并且您可能会遇到竞争条件。在Docker Compose解决这个问题之前,请先启动数据库。
docker-compose up -d mysql
docker-compose up -d postgres
贡献
有关详细信息,请参阅CONTRIBUTING