from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation
Jump to search
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.
3rd party
Sample Code
To get a UnitEnum enum from a case name (equivalent to from()/tryFrom()):
- constant("<enum name>::{$value}")
Tests
- is an
enum an object (is_object)? [YES]
- is an
enum seen as is_a UnitEnum? [YES]
- is an
enum an instanceof UnitEnum? [YES]
- is an
enum an instanceof enum? [no]