J'essaie d'accéder à une constante de classe dans une de mes classes :
const MY_CONST = "value";
Si j'ai une variable pour contenir le nom de cette constante comme ceci :
$myVar = "MY_CONST";
Puis-je accéder à la valeur de MY_CONST d'une manière ou d'une autre ?
self::$myVar
Cela ne fonctionne évidemment pas puisqu'il s'agit d'une propriété statique. De plus, les variables variables ne fonctionnent pas non plus.
Il n'y a pas de syntaxe correspondante, mais vous pouvez utiliser la recherche explicite :
Je crois que ça marche pour
self::
aussi.Il existe deux façons de procéder : en utilisant la fonction constante ou en utilisant réflexion.
Fonction constante
Les fonctions constantes s'appliquent aux constantes déclarées via
define
ainsi qu'aux constantes de classe :Cours de réflexion
La deuxième méthode, plus laborieuse, est la réflexion :