martyn82 / apha
Apha CQRS/ES library for PHP
v0.1.0
2016-04-04 06:58 UTC
Requires
- php: >=7.0
- doctrine/annotations: ~1.2
- doctrine/cache: ~1.6
- jms/serializer: ~1.1
- monolog/monolog: ~1.17
- phpcollection/phpcollection: ~0.4
- ramsey/uuid: ~3.1
Requires (Dev)
- ext-mongodb: ^1.1
- elasticsearch/elasticsearch: ~2.1
- mongodb/mongodb: ~1.0
- phing/phing: ~2.13
- phpunit/phpunit: ~5.1
Suggests
- ext-mongodb: Enabling the MongoDB extension will allow you to use MongoDB as data store.
- elasticsearch/elasticsearch: Installing the ElasticSearch library will allow you to use it as read store.
- mongodb/mongodb: Installing the MongoDB library will allow you to use MongoDB as read and/or write store.
This package is not auto-updated.
Last update: 2025-05-24 22:13:11 UTC
README
APHA is a CQRS/ES library for PHP. It contains all the building blocks you need to build an application that implements Command-Query Responsibility Segregation either with or without Event Sourcing.
APHA provides:
- Typed command and event handling with annotations
- Using MongoDB as event store and/or read store
- Using ElasticSearch as read store
- Replay of events
- Sagas
- Event scheduling (experimental)
Prerequisites
Requirements:
- PHP 7+
- Composer
Optional:
- MongoDB
- ElasticSearch
Installation
$ composer install
Usage
Run the tests:
$ bin/phing test:unit
Use in your own project:
$ composer require martyn82/apha:~0.1
Documentation
Currently, there is no API documentation available. Coming soon!
Examples
Some quickstart examples are available in the examples
directory.
You can run them from the command-line by executing:
$ php examples/ ...
Licensing
Please consult the file named LICENSE
in the root of the project.