Maison > développement back-end > tutoriel php > Puis-je accéder dynamiquement aux valeurs constantes de classe à l'aide d'une variable ?

Puis-je accéder dynamiquement aux valeurs constantes de classe à l'aide d'une variable ?

Barbara Streisand
Libérer: 2024-11-04 03:17:02
original
1025 Les gens l'ont consulté

Can I Access Class Constant Values Dynamically Using a Variable?

Obtention dynamique des valeurs de constante de classe

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal