anteris-dev / enum-descriptions
Adds description attributes for enums.
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/anteris-dev/enum-descriptions
Requires
- php: ^8.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-10-29 03:04:38 UTC
README
This package adds descriptions to PHP Enums by utilizing a Description attribute.
To Install
Use composer to install this package by running the following command:
composer require anteris-dev/enum-descriptions
Getting Started
You may specify a description for a case by using the Description attribute as shown below. If no description is set on the case, its name will be split by uppercase letters, joined with spaces, and then the first word will be capitalized (e.g., someValue becomes Some value).
use AnterisDev\EnumDescriptions\Description; enum Animal { #[Description('A cute dog.')] case Dog; #[Description('A fuzzy cat.')] case Cat; }
Retrieving Descriptions
There are several helpers that will assist you with retrieving descriptions. First are the global functions.
Global Functions
// Accepts an enum class name and returns an array. Enum values are represented in the array keys // and enum descriptions are represented as those key values. enum_descriptions(Animal::class); // Returns the string description for the specific enum passed. enum_description(Animal::Dog);
Traits
You may also add the HasDescriptions trait to your enum to expose some helpful functions there.
use AnterisDev\EnumDescriptions\HasDescriptions; enum Animal { use HasDescriptions; } // Returns an array. Enum values are represented in the array keys and enum // descriptions are represented as those key values. Animal::descriptions(); // Returns the description for the specific value specified. Animal::Dog->description();