PHPackages                             guikingone/symfony-uid-doctrine - 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. [Database &amp; ORM](/categories/database)
4. /
5. guikingone/symfony-uid-doctrine

ActiveLibrary[Database &amp; ORM](/categories/database)

guikingone/symfony-uid-doctrine
===============================

Allow the use of symfony/uid as Doctrine field type

0.1.1(5y ago)122.0k[1 issues](https://github.com/Guikingone/SymfonyUidDoctrine/issues)MITPHPPHP &gt;=7.2CI failing

Since Jun 23Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Guikingone/SymfonyUidDoctrine)[ Packagist](https://packagist.org/packages/guikingone/symfony-uid-doctrine)[ RSS](/packages/guikingone-symfony-uid-doctrine/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (6)Versions (4)Used By (0)

guikingone/symfony-uid-doctrine
===============================

[](#guikingonesymfony-uid-doctrine)

[![SymfonyUidDoctrine](https://github.com/Guikingone/SymfonyUidDoctrine/workflows/SymfonyUidDoctrine/badge.svg?branch=master)](https://github.com/Guikingone/SymfonyUidDoctrine/workflows/SymfonyUidDoctrine/badge.svg?branch=master)[![SymfonyUidDoctrine - Configuration](https://github.com/Guikingone/SymfonyUidDoctrine/workflows/SymfonyUidDoctrine%20-%20Configuration/badge.svg?branch=master)](https://github.com/Guikingone/SymfonyUidDoctrine/workflows/SymfonyUidDoctrine%20-%20Configuration/badge.svg?branch=master)

The `guikingone/symfony-uid-doctrine` aim to provide the support of `Symfony/Uid` as a `Doctrine` type.

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

[](#installation)

Consider using `Packagist` and `Composer` when installing the following project:

```
composer require guikingone/symfony-uid-doctrine
```

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

[](#configuration)

### Uuid

[](#uuid)

```
Doctrine\DBAL\Types\Type::addType('uuid', Guikingone\SymfonyUid\Doctrine\Uuid\UuidType::class);
```

```
# config/packages/doctrine.yaml
doctrine:
    dbal:
        types:
            uuid: Guikingone\SymfonyUid\Doctrine\Uuid\UuidType
```

### Ulid

[](#ulid)

```
Doctrine\DBAL\Types\Type::addType('ulid', Guikingone\SymfonyUid\Doctrine\Ulid\UlidType::class);
```

```
# config/packages/doctrine.yaml
doctrine:
    dbal:
        types:
            ulid: Guikingone\SymfonyUid\Doctrine\Ulid\UlidType
```

Usage
-----

[](#usage)

### Uuid

[](#uuid-1)

```
use Doctrine\ORM\Mapping as ORM;
use Guikingone\SymfonyUid\Doctrine\Uuid\UuidGenerator;

/**
 * @ORM\Entity
 * @ORM\Table(name="posts")
 */
class Post
{
    /**
     * @var Symfony\Component\Uid\Uuid
     *
     * @ORM\Id
     * @ORM\Column(type="uuid", unique=true)
     * @ORM\GeneratedValue(strategy="CUSTOM")
     * @ORM\CustomIdGenerator(class=UuidGenerator::class)
     */
    protected $id;

    public function getId(): Uuid
    {
        return $this->id;
    }
}
```

If you don't want to use the generator, consider using the `__construct()` method:

```
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Uid\Uuid;

/**
 * @ORM\Entity
 * @ORM\Table(name="posts")
 */
class Post
{
    /**
     * @var Symfony\Component\Uid\Uuid
     *
     * @ORM\Id
     * @ORM\Column(type="uuid", unique=true)
     */
    protected $id;

    public function __construct()
    {
        $this->id = Uuid::v4();
    }

    public function getId(): Uuid
    {
        return $this->id;
    }
}
```

### Ulid

[](#ulid-1)

```
use Doctrine\ORM\Mapping as ORM;
use Guikingone\SymfonyUid\Doctrine\Ulid\UlidGenerator;

/**
 * @ORM\Entity
 * @ORM\Table(name="posts")
 */
class Post
{
    /**
     * @var Symfony\Component\Uid\Ulid
     *
     * @ORM\Id
     * @ORM\Column(type="ulid", unique=true)
     * @ORM\GeneratedValue(strategy="CUSTOM")
     * @ORM\CustomIdGenerator(class=UlidGenerator::class)
     */
    protected $id;

    public function getId(): Ulid
    {
        return $this->id;
    }
}
```

If you don't want to use the generator, consider using the `__construct()` method:

```
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Uid\Ulid;

/**
 * @ORM\Entity
 * @ORM\Table(name="posts")
 */
class Post
{
    /**
     * @var Symfony\Component\Uid\Ulid
     *
     * @ORM\Id
     * @ORM\Column(type="ulid", unique=true)
     */
    protected $id;

    public function __construct()
    {
        $this->id = new Ulid();
    }

    public function getId(): Ulid
    {
        return $this->id;
    }
}
```

Contributing
------------

[](#contributing)

Contributions are welcome! Please read [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

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 ~17 days

Total

2

Last Release

2185d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b1ea408dc1a7f312337f13b3a6f01446ccb69e9d53d801abbda36bf38d1f640b?d=identicon)[Guillaume Loulier](/maintainers/Guillaume%20Loulier)

---

Top Contributors

[![Guikingone](https://avatars.githubusercontent.com/u/13744329?v=4)](https://github.com/Guikingone "Guikingone (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/guikingone-symfony-uid-doctrine/health.svg)

```
[![Health](https://phpackages.com/badges/guikingone-symfony-uid-doctrine/health.svg)](https://phpackages.com/packages/guikingone-symfony-uid-doctrine)
```

###  Alternatives

[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)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M737](/packages/sylius-sylius)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M508](/packages/pimcore-pimcore)[sulu/sulu

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

1.3k1.4M204](/packages/sulu-sulu)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)

PHPackages © 2026

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