(PHP 8 >= 8.1.0)
ReflectionClassConstant::isEnumCase — 检查类常量是否为枚举用例
此函数没有参数。
示例 #1 ReflectionClassConstant::isEnumCase() 示例
区分枚举用例和常规类常量。
<?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;
}
?>
以上示例将输出
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