Download the PHP package gember/event-sourcing-symfony-bundle without Composer
On this page you can find all versions of the php package gember/event-sourcing-symfony-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gember/event-sourcing-symfony-bundle
More information about gember/event-sourcing-symfony-bundle
Files in gember/event-sourcing-symfony-bundle
Package event-sourcing-symfony-bundle
Short Description Symfony Bundle for Gember Event Sourcing (gember/event-sourcing)
License MIT
Informations about the package event-sourcing-symfony-bundle
🫚 Gember Event Sourcing Symfony Bundle
Gember Event Sourcing Symfony Bundle for (gember/event-sourcing).
Installation
Install the Symfony Bundle with composer:
This package requires Symfony ^7.1.
Configuration
This package installs Gember Event Sourcing with all required dependency adapters. Some of these adapters need to be configured.
By default, it uses the following configuration (gember_event_sourcing.yaml):
You can override any of these defaults however you like.
Required dependencies
Some of the required dependencies also need to be configured separately.
Symfony Messenger (symfony/messenger)
At least one message bus should be configured, with the name @event.bus.
When this bus is configured, Gember Event Sourcing works out of the box.
However, when a different event bus is preferred, it must be a service implementing Symfony\Component\Messenger\MessageBusInterface.
Symfony Cache (symfony/cache)
Gember Event Sourcing makes use of @cache.app.
This cache service is automatically configured when using Symfony framework including symfony/cache.
When this cache service is configured, Gember Event Sourcing works out of the box.
However, when a different cache pool is preferred, it must be a service implementing Psr\Cache\CacheItemPoolInterface (PSR-6) or Psr\SimpleCache\CacheInterface (PSR-16).
Symfony Serializer (symfony/serializer)
Gember Event Sourcing makes use of @serializer.
This serializer service is automatically configured when using Symfony framework including symfony/serializer.
When this serializer service is configured, Gember Event Sourcing works out of the box.
However, when a different serializer is preferred, it must be a service implementing Symfony\Component\Serializer\SerializerInterface.
Doctrine DBAL/ORM (doctrine/dbal, doctrine/orm)
Gember Event Sourcing makes use of @doctrine.dbal.default_connection.
This connection service is automatically configured when using Symfony framework including doctrine/dbal or doctrine/orm.
When this connection service is configured, Gember Event Sourcing works out of the box.
However, when a different Doctrine connection is preferred, it must be a service implementing Doctrine\DBAL\Connection.
Database
In order to persist all domain events in database, a running SQL database is needed. The event store requires two tables. Schema is available in either raw SQL or in a migration file format:
Raw SQL schema: https://github.com/GemberPHP/rdbms-event-store-doctrine-dbal/blob/main/resources/schema.sql
Migrations:
- Doctrine migrations: https://github.com/GemberPHP/rdbms-event-store-doctrine-dbal/blob/main/resources/migrations/doctrine
- Phinx migrations: https://github.com/GemberPHP/rdbms-event-store-doctrine-dbal/tree/main/resources/migrations/phinx
Good to go!
Check the main package gember/event-sourcing or the demo application gember/example-event-sourcing-dcb for examples.
All versions of event-sourcing-symfony-bundle with dependencies
gember/event-sourcing Version ^0.13
gember/identity-generator-symfony Version ^0.11
gember/message-bus-symfony Version ^0.11
gember/rdbms-event-store-doctrine-dbal Version ^0.11
gember/serializer-symfony Version ^0.11
symfony/config Version ^7.1|^7.2|^8.0
symfony/console Version ^7.1|^7.2|^8.0
symfony/dependency-injection Version ^7.1|^7.2|^8.0
symfony/event-dispatcher Version ^7.1|^7.2|^8.0
symfony/http-kernel Version ^7.1|^7.2|^8.0
symfony/property-access Version ^7.1|^7.2|^8.0