Maison >développement back-end >tutoriel php >Puis-je accéder dynamiquement aux valeurs constantes de classe à l'aide d'une variable ?
Question :
Est-il possible d'accéder dynamiquement à la valeur d'une constante de classe en utilisant une variable qui contient le nom de la constante ?
Réponse :
Oui, il existe deux méthodes pour y parvenir : utiliser la fonction constante ou la réflexion.
Méthode 1 : Fonction constante
La fonction constante peut être utilisée pour récupérer la valeur des constantes définies par l'utilisateur déclarées avec les constantes de définition et de classe :
<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>
Méthode 2 : Classe de réflexion
Une approche plus complète consiste à utiliser la réflexion :
<code class="php">$ref = new ReflectionClass('A'); $constName = 'MY_CONST'; echo $ref->getConstant($constName); // outputs "myval"</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!