Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Varbase FAQs 9.2.1 Minor update available for module varbase_faqs (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Taxonomy Enum

3 sites Security covered
View on drupal.org

This module synchronizes Drupal taxonomy vocabularies with PHP enums, automatically creating and managing taxonomy terms based on enum cases. It allows developers to reference taxonomy terms in code using enums instead of hardcoded IDs, making code more portable and maintainable. The module also offers configuration options to control manual term creation and deletion, and provides tools for migrating existing fields.

This module allows you to synchronise taxonomy vocabularies with PHP enums. This is especially useful if you have a taxonomy vocabulary with a fixed set of terms and custom code that needs to behave differently based on which term is referenced. It basically allows you to reference a taxonomy term in code without having to hardcode ID's, which makes your code more portable between environments.

Features

  • Automatically creates terms based on the enum cases
  • Automatically deletes respective terms once enum cases have been removed (configurable)
  • Disables the possibility to manually create/delete terms (configurable)
  • Stores default field values in config as machine names instead of entity UUID's
  • Allows you to get enum instances in custom code: $entity->get('some_taxonomy_enum_field')->enum
  • Contains code to easily migrate existing entity reference fields: \Drupal::service('taxonomy_enum.migration')->migrateField('field_tags', 'node');

Activity

Total releases
3
First release
Nov 2025
Latest release
5 months ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.3.1 Stable Jan 20, 2026
1.3.0 Stable Nov 27, 2025
1.2.0 Stable Nov 26, 2025