Heim >Backend-Entwicklung >PHP-Tutorial >Kann ich mithilfe einer Variablen dynamisch auf Klassenkonstantenwerte zugreifen?
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!