(PHP 8 >= 8.1.0)
ReflectionClassConstant::isEnumCase — Checks if class constant is an Enum case
Checks if the class constant is an Enum case.
Esta función no tiene parámetros.
true
if the class constant is an Enum case; false
otherwise.
Ejemplo #1 ReflectionClassConstant::isEnumCase() example
Distinguish between Enum cases and regular class constants.
<?php
enum Status
{
const BORING_CONSTANT = 'test';
const ENUM_VALUE = Status::PUBLISHED;
case DRAFT;
case PUBLISHED;
case ARCHIVED;
}
$reflection = new ReflectionEnum(Status::class);
foreach ($reflection->getReflectionConstants() as $constant) {
echo "{$constant->name} is ",
$constant->isEnumCase() ? "an enum case" : "a regular class constant",
PHP_EOL;
}
?>
El resultado del ejemplo sería:
BORING_CONSTANT is a regular class constant ENUM_VALUE is a regular class constant DRAFT is an enum case PUBLISHED is an enum case ARCHIVED is an enum case