PHPackages                             gember/event-sourcing-symfony-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. gember/event-sourcing-symfony-bundle

ActiveLibrary[Framework](/categories/framework)

gember/event-sourcing-symfony-bundle
====================================

Symfony Bundle for Gember Event Sourcing (gember/event-sourcing)

0.13.1(3mo ago)2355MITPHPPHP ^8.3CI passing

Since Apr 28Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/GemberPHP/event-sourcing-symfony-bundle)[ Packagist](https://packagist.org/packages/gember/event-sourcing-symfony-bundle)[ RSS](/packages/gember-event-sourcing-symfony-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (16)Used By (0)

🫚 Gember Event Sourcing Symfony Bundle
======================================

[](#-gember-event-sourcing-symfony-bundle)

[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/05de8fa997dec7bd6b39b7af8c030c734835c6871547f8b2d9ae87e4299ebc8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e332d3838393242462e7376673f7374796c653d666c6174)](http://www.php.net)

Gember Event Sourcing Symfony Bundle for ([gember/event-sourcing](https://github.com/GemberPHP/event-sourcing)).

Installation
------------

[](#installation)

Install the Symfony Bundle with composer:

```
composer require gember/event-sourcing-symfony-bundle
```

This package requires Symfony `^7.1`.

Configuration
-------------

[](#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`):

```
gember_event_sourcing:
    message_bus:
        symfony:
            event_bus: '@event.bus'
            command_bus: '@command.bus'
    cache:
        enabled: true
        psr6:
          service: '@cache.app'

        # Or set a PSR-16 compatible cache layer of your choice
        # psr16: '@some.psr16.service'
    serializer:
        symfony:
            serializer: '@serializer'
    event_store:
        rdbms:
            doctrine_dbal:
                connection: '@doctrine.dbal.default_connection'
    generator:
        identity:
            # Use Gember alias of @Symfony\Component\Uid\Factory\UuidFactory:
            service: '@gember.identity_generator_symfony.uuid.symfony_uuid_identity_generator'

            # Or use Gember alias of @Symfony\Component\Uid\Factory\UlidFactory:
            # service: '@gember.identity_generator_symfony.ulid.symfony_ulid_identity_generator'
    registry:
        event:
            reflector:
                path: '%kernel.project_dir%/src'
        command_handler:
            reflector:
                path: '%kernel.project_dir%/src'
        saga:
            reflector:
                path: '%kernel.project_dir%/src'
    logging:
        logger: '@logger'
```

You can override any of these defaults however you like.

Required dependencies
---------------------

[](#required-dependencies)

Some of the required dependencies also need to be configured separately.

### Symfony Messenger (`symfony/messenger`)

[](#symfony-messenger-symfonymessenger)

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`)

[](#symfony-cache-symfonycache)

*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`)

[](#symfony-serializer-symfonyserializer)

*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`)

[](#doctrine-dbalorm-doctrinedbal-doctrineorm)

*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
--------

[](#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:

Migrations:

- Doctrine migrations:
- Phinx migrations:

Good to go!
-----------

[](#good-to-go)

Check the main package [gember/event-sourcing](https://github.com/GemberPHP/event-sourcing) or the demo application [gember/example-event-sourcing-dcb](https://github.com/GemberPHP/example-event-sourcing-dcb) for examples.

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance79

Regular maintenance activity

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~26 days

Total

15

Last Release

110d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f5fda898ea5700962c462ce21749b844fa13a9b239bfb52c95926a90d07c0ef5?d=identicon)[jerowork](/maintainers/jerowork)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (39 commits)")

---

Tags

bundledcbddddomain-driven-designdynamic-consistency-boundaryevent-sourcinggembersymfonysymfonybundleDomain Driven Designdddevent sourcingdcbgemberdynamic-consistency-boundary

###  Code Quality

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/gember-event-sourcing-symfony-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/gember-event-sourcing-symfony-bundle/health.svg)](https://phpackages.com/packages/gember-event-sourcing-symfony-bundle)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
