Les constantes
Sommaire
Une constante est un identifiant (un nom) qui représente une valeur
simple. Comme son nom le suggère, cette valeur ne peut jamais être
modifiée durant l'exécution du script (sauf les
constantes magiques,
qui ne sont pas vraiment des constantes).
Les constantes sont sensibles à la casse. Par convention,
les constantes sont toujours en majuscule.
Note:
Avant PHP 8.0.0, les constantes définies en utilisant la fonction
define() peuvent être insensibles à la casse.
Les noms de constantes suivent les mêmes règles que n'importe
quel nom en PHP. Un nom de constante valide commence par une
lettre ou un souligné, suivi d'un nombre
quelconque de lettres, chiffres ou soulignés. Sous forme d'expression
régulière, cela peut s'exprimer comme ceci :
^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
Il est possible de définir une constante avec un nom réservé ou même invalide via define(),
ces valeurs ne peuvent alors être récupérées qu'avec la fonction
constant(). Faire ceci n'est cependant pas recommandé.
Exemple #1 Noms valides et invalides pour les constantes
<?php
// Noms valides
define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");
// Noms invalides
define("2FOO", "something");
// Ce nom est valide, mais évitez-le:
// PHP peut un jour fournir une constante magique nommée
// ainsi, ce qui va corrompre vos scripts.
define("__FOO__", "something");
Note:
Dans cette documentation, une lettre peut être un des caractères
suivants : de a à z, de A à Z et tous les caractères ASCII
de 128 à 255 (0x80-0xff).
Tout comme les superglobals, la portée d'une constante est globale.
Les constantes peuvent être accédées depuis partout dans un script sans tenir
compte de la portée.
Pour plus d'informations sur la portée, consulter la section du manuel sur la
portée des variables.
Note:
À partir de PHP 7.1.0, les constantes de classes peuvent définir une
visibilité de protégée ou privée, ne les rendant disponibles que dans la
portée hiérarchique de la classe où elles ont été définies.