PHP でクラス定数に動的にアクセスするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-05 09:20:02
オリジナル
510 人が閲覧しました

How Can I Access Class Constants Dynamically in PHP?

クラス定数に動的にアクセスする

クラス定数に間接的にアクセスする必要がある状況、特に定数の名前を保持する変数を使用する必要がある状況では、この機能の実装は困難になる可能性があります。幸いなことに、これを実現するには 2 つの実用的なアプローチがあります。

定数関数

定数関数を使用すると、定義定数とクラス定数の両方を通じて定義された定数にアクセスできます。指定されたシナリオでは:

<code class="php">class A
{
    const MY_CONST = 'myval';

    static function test()
    {
        $c = 'MY_CONST';
        return constant('self::'. $c);
    }
}

echo A::test(); // Output: myval</code>
ログイン後にコピー

Reflection Class

または、ReflectionClass はクラス定数に動的にアクセスする別の手段を提供します:

<code class="php">$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // Output: myval</code>
ログイン後にコピー

以上がPHP でクラス定数に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート