変数に格納された名前を使用して PHP のクラス定数にアクセスするにはどうすればよいでしょうか?

DDD
リリース: 2024-11-04 02:41:30
オリジナル
904 人が閲覧しました

How can you access class constants in PHP using a variable-stored name?

変数に格納された名前を使用したクラス定数へのアクセス

オブジェクト指向プログラミングでは、クラス定数は、オブジェクト内で不変の値を定義する便利な方法を提供します。クラス。ただし、名前を含む変数を使用してこれらの定数にアクセスすることには課題が生じます。

次の例を考えてみましょう:

<code class="php">class A {
    const MY_CONST = "value";
}

$myVar = "MY_CONST";</code>
ログイン後にコピー

このシナリオでは、self を使用して MY_CONST の値にアクセスしようとしています。 :$myVar は、定数ではなく静的プロパティを参照するため機能しません。

幸いなことに、この制限を回避するには 2 つの方法があります:

定数関数:

定数関数を使用すると、define 宣言と class 宣言の両方で定義された定数にアクセスできます。これは constant('::') の形式をとります。ここで、:: は名前空間を表し、constName は定数の名前を指定します。

<code class="php">$c = 'MY_CONST';
echo constant('::' . $c); // Output: value</code>
ログイン後にコピー

リフレクション クラス:

使用Reflection API を使用すると、リフレクション クラス インスタンスを通じてクラス定数にアクセスできます。

<code class="php">$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // Output: value</code>
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!