Eidetic is a CQRS and EventSourcing library for php >= 5.5
Please do not use this library for anything important - it's API is likely to change over the coming weeks
Yes - I've seen Broadway and it's a fantastic package, but it wasn't for me.
- I should be able to use an EventStore / EventSourcing without committing to DDD (Not all projects suit!)
- Even if it's just avoiding the vocabulary
- I don't always want to use the Aggregate pattern
- I prefer composition over inheritance:
- I don't really want to use inheritance for my entities
- I really don't want to use inheritance for my events
This package should allow people to dip their toe in the waters and allow them to consider if using reactive / event based systems will work for them; even if that's simply setting up an EventStore to provide a basic audit trail for a legacy application. Take it slow, get your feet wet - then dive right in! :)
Eidetic is currently under initial development, aiming for 1.0 in December, 2015. The aim is to provide helpers that allow you to implement CQRS and EventSourcing in your application.
-
CQRS
- Read model repositories
- Elasticsearch (Pending)
- PDO PostgreSQL: jsonb :) (Pending)
- DynamoDb (Pending)
- Write model repositories
- Event Store
- Read model repositories
-
Event Stores
- InMemory
- Doctrine DBAL
- PDO (Pending)
- DynamoDb (Pending)
- Mongo (Pending)
-
Event Subscribers
- Amazon Kinesis (Pending)
- Symfony2 Event Dispatcher
Examples can be found inside usr/share/doc/example
composer require rawkode/eidetic
Sorry! As this is extremely experimental at the moment, please use dev-master
.
bin/phpunit
bin/phpspec run --format=pretty
Please see CONTRIBUTING for details.