PHP/enum
< PHP
Jump to navigation
Jump to search
|
PHP enum support
|
Examples
| "Basic" enum | "Backed" enum |
|---|---|
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
|
enum Suit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}
|
Methods
| kind of thing | name & args | returns | defined in | description |
|---|---|---|---|---|
| static function | cases() |
array | UnitEnum
| |
| static function | tryFrom(int|string $value) |
?static | BackedEnum |
same as from(), but returns NULL if not found (instead of erroring)
|
| static function | from(int|string $value) |
static | BackedEnum |
same as tryFrom, but throws an error if not found
|
| dynamic property | $name | string | UnitEnum |
the name of the case (case-sensitive) |
| dynamic property | $value | int or string | BackedEnum |
the value of the case |
Documentation
Note that enums can be cast directly to arrays.
- Enumerations:
- Classoids:
3rd party
Sample Code
To get a UnitEnum enum from a case name (equivalent to from()/tryFrom()):
- constant("<enum name>::{$value}")
Tests
- is an
enuman object (is_object)? [YES] - is an
enumseen asis_a UnitEnum? [YES] - is an
enumaninstanceof UnitEnum? [YES] - is an
enumaninstanceof enum? [no]