PHPackages                             gember/identity-generator-symfony - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. gember/identity-generator-symfony

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

gember/identity-generator-symfony
=================================

Gember Event Sourcing Identity Generator adapter based on symfony/uid

0.11.0(5mo ago)21.2k2MITPHPPHP ^8.3CI passing

Since Apr 28Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/GemberPHP/identity-generator-symfony)[ Packagist](https://packagist.org/packages/gember/identity-generator-symfony)[ RSS](/packages/gember-identity-generator-symfony/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (11)Versions (13)Used By (2)

🫚 Gember Identity generator: Symfony Uid
========================================

[](#-gember-identity-generator-symfony-uid)

[![Build Status](https://camo.githubusercontent.com/a789cadbe27443f72a3e68d5c191c25be8a489de48a7a9a0c145d66d6571ea1e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f47656d6265725048502f6964656e746974792d67656e657261746f722d73796d666f6e792f6261646765732f6275696c642e706e673f623d6d61696e)](https://github.com/GemberPHP/identity-generator-symfony/actions)[![Coverage Status](https://camo.githubusercontent.com/cc01dcf616e73e8ddfa1030a6881a9fa284c3e891f15b981d86f37b4919b6209/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f47656d6265725048502f6964656e746974792d67656e657261746f722d73796d666f6e792e7376673f7374796c653d666c6174)](https://scrutinizer-ci.com/g/GemberPHP/identity-generator-symfony/code-structure)[![Quality Score](https://camo.githubusercontent.com/00828fb614fe0544bfe0c4499e4c58f460f4a0a074efe5ff9dde47f62916ff40/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f47656d6265725048502f6964656e746974792d67656e657261746f722d73796d666f6e792e7376673f7374796c653d666c6174)](https://scrutinizer-ci.com/g/GemberPHP/identity-generator-symfony)[![Software License](https://camo.githubusercontent.com/f251623e510f5909f16ae3f4e6e548dac11340b9fde1a99be26b015b39272c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c6174)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/05de8fa997dec7bd6b39b7af8c030c734835c6871547f8b2d9ae87e4299ebc8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e332d3838393242462e7376673f7374796c653d666c6174)](http://www.php.net)

[Gember Event Sourcing](https://github.com/GemberPHP/event-sourcing) Identity Generator adapter based on [symfony/uid](https://github.com/symfony/uid).

> All external dependencies in Gember Event Sourcing are organized into separate packages, making it easy to swap out a vendor adapter for another.

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

[](#installation)

Install with Composer:

```
composer require gember/identity-generator-symfony
```

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

[](#configuration)

Bind this adapter to the `IdentityGenerator` interface in your service definitions.

### Examples

[](#examples)

#### Vanilla PHP

[](#vanilla-php)

```
use Gember\IdentityGeneratorSymfony\Ulid\SymfonyUlidIdentityGenerator;
use Gember\IdentityGeneratorSymfony\Uuid\SymfonyUuidIdentityGenerator;
use Symfony\Component\Uid\Factory\UlidFactory;
use Symfony\Component\Uid\Factory\UuidFactory;

# ULID Identity Generator
$ulidIdentityGenerator = new SymfonyUlidIdentityGenerator(
    new UlidFactory(),
);

# UUID (v4) Identity Generator
$uuidIdentityGenerator = new SymfonyUuidIdentityGenerator(
    new UuidFactory(),
);
```

#### Symfony

[](#symfony)

It is recommended to use the [Symfony bundle](https://github.com/GemberPHP/event-sourcing-symfony-bundle) to configure Gember Event Sourcing. With this bundle, the UUID adapter is automatically set as the default for Identity Generator.

If you're not using the bundle, you can bind it directly to the `IdentityGenerator` interface.

```
# Bind ULID Identity Generator to interface
Gember\EventSourcing\Util\Generator\Identity\IdentityGenerator:
  class: Gember\IdentityGeneratorSymfony\Ulid\SymfonyUlidIdentityGenerator
  arguments:
    - '@ Symfony\Component\Uid\Factory\UlidFactory'

# OR bind UUID (v4) Identity Generator to interface
Gember\EventSourcing\Util\Generator\Identity\IdentityGenerator:
  class: Gember\IdentityGeneratorSymfony\Uuid\SymfonyUuidIdentityGenerator
  arguments:
    - '@ Symfony\Component\Uid\Factory\UuidFactory'
```

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance70

Regular maintenance activity

Popularity21

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.6% 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 ~26 days

Recently: every ~33 days

Total

11

Last Release

170d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4119451?v=4)[Jeroen](/maintainers/jerowork)[@jerowork](https://github.com/jerowork)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (67 commits)")[![jerowork](https://avatars.githubusercontent.com/u/4119451?v=4)](https://github.com/jerowork "jerowork (24 commits)")

---

Tags

cqrsdcbddddomain-driven-designdynamic-consistency-boundaryevent-sourcinggemberidentity-generatorsymfonyuidsymfonyUIDDomain Driven Designdddevent sourcingcqrsgemberidentity-generator

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/gember-identity-generator-symfony/health.svg)

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

###  Alternatives

[ecotone/ecotone

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

564576.7k52](/packages/ecotone-ecotone)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[dykyi-roman/awesome-claude-code

Claude Code extension for PHP: audits (architecture, DDD, security, performance, PSR, design patterns, Docker, CI/CD, tests, docs), 3-level code review, automated bug fix, generators (DDD, CQRS, GoF patterns, PSR, tests, documentation, Docker, CI/CD), code explanation, refactoring. 26 commands, 62 agents, 259 skills.

851.2k](/packages/dykyi-roman-awesome-claude-code)[pauci/cqrs

CQRS library

1725.2k3](/packages/pauci-cqrs)

PHPackages © 2026

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