ReflectionClassConstant::isEnumCase

クラス定数が、列挙型の case かどうかを調べる

説明

public bool ReflectionClassConstant::isEnumCase()

クラス定数が、列挙型 の case かどうかを調べます。

パラメータ

この関数にはパラメータはありません。

戻り値

クラス定数が、列挙型の case である場合に true を返します。 そうでない場合、false を返します。

例1 ReflectionClassConstant::isEnumCase の例

通常のクラス定数と、列挙型の case を区別する例です。

<?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

参考

  • ReflectionEnum