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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 09:20:02422ブラウズ

How Can I Access Class Constants Dynamically in PHP?

クラス定数に動的にアクセスする

クラス定数に間接的にアクセスする必要がある状況、特に定数の名前を保持する変数を使用する必要がある状況では、この機能の実装は困難になる可能性があります。幸いなことに、これを実現するには 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>

Reflection Class

または、ReflectionClass はクラス定数に動的にアクセスする別の手段を提供します:

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

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

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