Maison  >  Article  >  développement back-end  >  Comment accéder dynamiquement aux constantes de classe en PHP ?

Comment accéder dynamiquement aux constantes de classe en PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-05 03:30:02248parcourir

How can you access class constants dynamically in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn