Skip to content

Self-awareness

phil/enums

AsSelfAwareableEnumTrait lets code that receives an enum class ask what kind of enum it is.

use Phil\Enums\Traits\AsSelfAwareableEnumTrait;

enum HttpStatus: int
{
    use AsSelfAwareableEnumTrait;

    case OK = 200;
    case NOT_FOUND = 404;
}

enum Direction
{
    use AsSelfAwareableEnumTrait;

    case NORTH;
    case SOUTH;
}
MethodTrue when the enumHttpStatusDirection
isPure()has no backing typefalsetrue
isBacked()is backed, by any typetruefalse
isBackedByInteger()is backed by inttruefalse
isBackedByString()is backed by stringfalsefalse