Heim  >  Artikel  >  Backend-Entwicklung  >  Kann ich mithilfe einer Variablen dynamisch auf Klassenkonstantenwerte zugreifen?

Kann ich mithilfe einer Variablen dynamisch auf Klassenkonstantenwerte zugreifen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 03:17:02874Durchsuche

Can I Access Class Constant Values Dynamically Using a Variable?

Klassenkonstantenwerte dynamisch abrufen

Frage:

Ist es möglich, dynamisch auf den Wert einer Klassenkonstante zuzugreifen? eine Variable, die den Namen der Konstante enthält?

Antwort:

Ja, es gibt zwei Methoden, dies zu erreichen: Verwendung der Konstantenfunktion oder Reflexion.

Methode 1: Konstantenfunktion

Die Konstantenfunktion kann verwendet werden, um den Wert beider benutzerdefinierten Konstanten abzurufen, die mit Definitions- und Klassenkonstanten deklariert wurden:

<code class="php">class A
{
    const MY_CONST = 'myval';

    static function test()
    {
        $c = 'MY_CONST';
        return constant('self::'. $c);
    }
}

echo A::test(); // outputs "myval"</code>

Methode 2: Reflexionskurs

Ein umfassenderer Ansatz ist die Verwendung von Reflexion:

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

Das obige ist der detaillierte Inhalt vonKann ich mithilfe einer Variablen dynamisch auf Klassenkonstantenwerte zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn