sammakescode / enums-extended
Extended functionality for PHP's enums. Add labels, pick random, associative arrays and more.
v1.0.0
2025-09-10 11:18 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^10.5
README
The introduction of enums in PHP 8.1 allowed developers to define a closed set of values for classes, configuration, etc. Very helpful!
This library attempts to build on that a little by adding functionality for common use cases.
Usage
List
Here are a list of the current helpers.
Name | Description | Method usage | Docs |
---|---|---|---|
AsOptions | Returns an associative array of cases | SomeTrait::asOptions() |
Reference |
GetValues | Returns an array of case values | SomeTrait::getValues() |
Reference |
Labels | Allow user-defined labels and descriptions | SomeTrait::SomeCase->label() or SomeTrait::SomeCase->describe() |
Reference |
PickRandom | Returns a randomly selected case from an enum | SomeTrait::pickRandom() |
Reference |
Requirements
- PHP >= 8.1
Installation
To install this library, simply require them using composer.
composer require sammakescode/enums-extended