PHPackages                             enumeum/doctrine-enums - 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. enumeum/doctrine-enums

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

enumeum/doctrine-enums
======================

Doctrine extension to manage enumerations in PostgreSQL

2.1.0(3y ago)25.6k21MITPHPPHP ^8.1

Since Oct 13Pushed 3y ago2 watchersCompare

[ Source](https://github.com/enumeum/doctrine_enums)[ Packagist](https://packagist.org/packages/enumeum/doctrine-enums)[ RSS](/packages/enumeum-doctrine-enums/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (13)Versions (23)Used By (1)

Doctrine Enums Extension
========================

[](#doctrine-enums-extension)

This package contains an extension for Doctrine ORM and DBAL which offer enum management functionality in a PostgreSQL database. Yes, enumerations in DB is bad practice, and you should avoid to use them. But sometimes DB management needs Enums as a simple constraint on certain fields. This package provides a transparent approach to adding PHP enums as database types and using them with appropriate fields in Doctrine entities.

Requirements
------------

[](#requirements)

Minimum PHP version is 8.1.

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

[](#installation)

```
composer require enumeum/doctrine-enums

```

Usage
-----

[](#usage)

### Enumeum attribute for PHP enum:

[](#enumeum-attribute-for-php-enum)

- **\#\[Enumeum\\DoctrineEnum\\Attribute\\EnumType(name: 'type\_name')\]** this attribute tells that this enum is database type. By default, it creates type in database with its own cases.

### Enum setup

[](#enum-setup)

```
