Basic enums don't have a value. But if you want to know their numeric key or
their value, you are referred to name and cases()
respectively to find out.
Value
eases that problem for you.
use Henzeb\Enumhancer\Concerns\Value;
enum yourEnum {
use Value;
case MY_ENUM;
case Other;
}
YourEnum::MY_ENUM->value(); // will return `my_enum`;
YourEnum::Other->value(); // will return `other`;
YourEnum::MY_ENUM->key(); // will return `0`;
YourEnum::Other->key(); // will return `1`;
Note: When used with a string or int backed enum, value
will return it's
actual value.
Note: When used with an int backed enum, key
will return the value.
By default, the value of a UnitEnum will be the lower cased value of the enum case. With strict, you can modify this behavior so it returns uppercase.
use Henzeb\Enumhancer\Concerns\Value;
enum yourEnum {
use Value;
const STRICT = true;
case MY_ENUM;
case Other;
}
yourEnum::Other->value(); // returns Other
yourEnum::MY_ENUM->value(); // returns MY_ENUM