Maison > Article > développement back-end > Comment accéder dynamiquement aux constantes de classe en PHP ?
Accès dynamique aux constantes de classe
En PHP, accéder dynamiquement aux constantes de classe à l'aide d'une variable variable peut être difficile. Cependant, il existe deux méthodes efficaces pour y parvenir :
Utilisation de la fonction constante
La fonction constant() accepte un argument de chaîne représentant le nom de la constante et l'évalue :
<br>self:: <br>{</p> <pre class="brush:php;toolbar:false">const MY_CONST = 'myval'; static function test() { $c = 'MY_CONST'; return constant('self::'. $c); }
}
echo A::test(); // sortie : myval
Dans cet exemple, la fonction constant() évalue la chaîne "self::MY_CONST" et renvoie la valeur de la constante MY_CONST.
Utiliser Reflection
Reflection vous permet d'accéder dynamiquement aux informations sur les classes, les méthodes et les constantes :
<br>$ref = new ReflectionClass( 'A');<br>$constName = 'MY_CONST';<br>echo $ref->getConstant($constName); // sortie : myval<br>
Ici, l'objet ReflectionClass est créé pour la classe A. La méthode getConstant() renvoie ensuite la valeur de la constante MY_CONST.
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!