クラス定数への動的アクセス
実行時に定数の名前しか分からない場合、クラス定数へのアクセスは困難になる可能性があります。システム関数またはリフレクションを利用することで、この制限を克服することができます。
定数関数の使用
定数関数を使用すると、定数の取得が簡単になります。これは、define 定数とクラス定数を使用して定義された両方の定数を操作できます。
<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>
リフレクション クラスの使用
より複雑なアプローチとして、リフレクションを使用できます。
<code class="php">$ref = new ReflectionClass('A'); $constName = 'MY_CONST'; echo $ref->getConstant($constName); // Output: myval</code>
以上がPHP でクラス定数に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。