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