rawkode/eidetic

该软件包已被弃用且不再维护。未建议替代软件包。

CQRS和EventSourcing软件包,适用于php >= 5.5

0.1.5 2015-12-09 20:14 UTC

This package is auto-updated.

Last update: 2024-09-16 06:05:06 UTC


README

警告:由于时间限制,可能不会很快更新

Software License Latest Version Build Status Quality Score

SensioLabsInsight

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