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

Patricia Arquette
リリース: 2024-11-05 03:30:02
オリジナル
321 人が閲覧しました

How can you access class constants dynamically in PHP?

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

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

定数関数の使用

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

<br>self:: <br>{</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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 サイトの他の関連記事を参照してください。

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