Enum Field
This module allows you to create list fields (integer or string) whose allowed values are defined by a PHP enum class. It also provides helper methods to retrieve enum instances from field data within custom code.
This module allows you to create List fields (integer/string) that get their allowed values from a PHP enum class. It also provides shortcuts to easily extract enum instances from field items and field item lists, for use in custom code:
$entity->get('field_some_enum')->enum
$entity->get('field_some_enum')->enums()
Core issue
This module will become partially obsolete once #3249600: Add support for PHP 8.1 Enums as allowed values for list_* field types lands. The only difference will be the above mentioned possibility to get the enum instance(s) in custom code.
Post-Installation
Create a new field of type Enum (text) or Enum (integer), set the enum class that should be referenced and use it like any other field.
Similar projects
- Taxonomy Enum: also provides a field type for working with PHP enums, but this one automatically syncs all enum cases with taxonomy terms
Depends on
Dependencies of the latest stable release
- options Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.3.0 | Stable | 9–11 | Add validation for enum class name. | Apr 24, 2026 | |
| 1.2.0 | Stable | 9–11 | Add support for field:create Drush command | Nov 27, 2025 | |
| 1.1.0 | Stable | 9–11 | Adds views filter. | Nov 14, 2025 | |
| 1.0.7 | Stable | 9–11 | Add helper class to migrate to/from enum fields & PHP 8.4 compatibility. | Aug 6, 2025 | |
| 1.0.6 | Stable | 9–11 | Add Drupal 11 compatibility. | Nov 21, 2024 |