ホームページ  >  記事  >  バックエンド開発  >  PHP でクラス定数に動的にアクセスするにはどうすればよいでしょうか?

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-05 03:30:02322ブラウズ

How can you access class constants dynamically in PHP?

クラス定数への動的アクセス

PHP では、可変変数を使用してクラス定数に動的にアクセスするのは困難な場合があります。ただし、これを実現するには 2 つの効果的な方法があります。

定数関数の使用

constant() 関数は、定数名を表す文字列引数を受け取り、それを評価します。

<br>self:: <br>{</p>
<pre class="brush:php;toolbar:false">const MY_CONST = 'myval';

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

}

echo A::test(); // 出力: myval

この例では、constant() 関数は文字列 "self::MY_CONST" を評価し、MY_CONST 定数の値を返します。

リフレクションの使用

リフレクションを使用すると、クラス、メソッド、定数に関する情報に動的にアクセスできます。

<br>$ref = new ReflectionClass( 'A');<br>$constName = 'MY_CONST';<br>echo $ref->getConstant($constName); // 出力: myval<br>

ここでは、A クラスの ReflectionClass オブジェクトが作成されます。 getConstant() メソッドは、MY_CONST 定数の値を返します。

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

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