ホームページ  >  記事  >  バックエンド開発  >  変数を使用してクラス定数値に動的にアクセスできますか?

変数を使用してクラス定数値に動的にアクセスできますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 03:17:02877ブラウズ

Can I Access Class Constant Values Dynamically Using a Variable?

クラス定数の値を動的に取得する

質問:

を使用してクラス定数の値に動的にアクセスすることは可能ですか?定数の名前を含む変数ですか?

答え:

はい、これを実現するには 2 つの方法があります: 定数関数を使用するか、リフレクションを使用します。

方法 1: 定数関数

定数関数を使用すると、define 定数とクラス定数で宣言されたユーザー定義定数の値を取得できます:

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

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

echo A::test(); // outputs "myval"</code>

方法 2: リフレクション クラス

より包括的なアプローチは、リフレクションを使用することです:

<code class="php">$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // outputs "myval"</code>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。