phauthentic / event-sourcing
An event sourcing library for PHP. Framework agnostic, simple, SOLID and easy to use.
Requires
- php: ^8.2
- phauthentic/event-store: dev-master
- phauthentic/snapshot-store: dev-master
Requires (Dev)
- ext-pdo: *
- infection/infection: ^0.29.6
- phpmd/phpmd: ^2.15
- phpro/grumphp-shim: ^2.5
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.6
- psr/container: ^1.0||^2.0
- psr/log: ^2.0||^3.0
- ramsey/uuid: ^4.7
- squizlabs/php_codesniffer: ^4.0
- symfony/messenger: ^6.0||^7.0
- symfony/var-dumper: ^6.0||^7.1
Suggests
- psr/container: If you want to use the repository factory.
- psr/log: If you want to use any of the components that use a PSR logger.
This package is auto-updated.
Last update: 2024-12-20 09:58:37 UTC
README
A framework-agnostic event sourcing system.
The library tries to be as unopinionated as possible, it provides the basic building blocks to implement event sourcing in your application. The library will allow you to keep 3rd party dependencies to a minimum and will not force you to use a specific framework or library. Your aggregates can be free of third party dependencies if you want to go for that style.
It features different ways of extracting information from your aggregates, pick your flavor: Via Attributes (recommended), Interfaces or Reflection. Using a reflection based extractor will allow you to keep your aggregates free of any dependency to this library.
Installation
composer require phauthentic/event-sourcing
Documentation
- What is Event Sourcing?
- The Architecture of this Library
- Make your Aggregates Using Event Sourcing
- Example
- Running Tests
- Other Event Sourcing Libraries
License
Copyright Florian Krämer
Licensed under the MIT license.