クラス定数に間接的にアクセスする必要がある状況、特に定数の名前を保持する変数を使用する必要がある状況では、この機能の実装は困難になる可能性があります。幸いなことに、これを実現するには 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>
または、ReflectionClass はクラス定数に動的にアクセスする別の手段を提供します:
<code class="php">$ref = new ReflectionClass('A'); $constName = 'MY_CONST'; echo $ref->getConstant($constName); // Output: myval</code>
以上がPHP でクラス定数に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。