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 (les constantes magiques
__FILE__ et __LINE__ sont
les seules exceptions). Le nom d'une constante est sensible à la
casse, par défaut. Par convention, les constantes sont toujours en
majuscules.
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 lettre, chiffres ou soulignés. Sous forme d'expression
régulière, cela peut s'exprimer comme ceci :
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Exemple 13-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 127 à 255 (0x7f-0xff).
Tous comme les superglobals, les constantes sont
accessibles de manière globale. Vous pouvez la définir
n'importe où, et y accéder depuis n'importe quelle fonction.
Vous pouvez définir une constante en utilisant la fonction
define(). Une fois qu'une constante est définie,
elle ne peut jamais être modifiée, ou détruite.
Seuls les types de données scalaires peuvent être placés dans une
constante : c'est à dire les types booléen, entier, double et
chaîne de caractères (soit bool, entier,
double et string).
Vous pouvez accéder à la valeur d'une constante en spécifiant simplement
son nom. Contrairement aux variables, vous ne devez PAS préfixer
le nom de la constante avec $.
Vous pouvez aussi utiliser la fonction constant(), pour
lire dynamiquement la valeur d'une constante, dont vous obtenez le nom
dynamiquement (retour de fonction, par exemple).
Utilisez la fonction get_defined_constants() pour connaître
la liste de toutes les constantes définies.
Note :
Les constantes et les variables globales utilisent deux espaces de
noms différents. Ce qui implique que TRUE et
$TRUE sont généralement différents (en tous cas, ils
peuvent avoir des valeurs différentes).
Lorsque vous utilisez une constante non définie, PHP suppose que vous utilisez
le nom de la constante. Une note
sera générée. Utilisez la
fonction defined() pour savoir si une constante existe ou pas.
Il y a des différences entre les constantes et les variables :
Les constantes ne commencent pas par le signe ($);
Les constantes sont définies et accessibles à tout endroit du code,
globalement.
Les constantes ne peuvent pas être redéfinies ou indéfinies
une fois qu'elles ont été définies.
Les constantes ne peuvent contenir que des scalaires.
Exemple 13-2. Définir une constante <?php
define("CONSTANTE", "Bonjour le monde.");
echo CONSTANTE; // affiche "Bonjour le monde."
echo Constante; // affiche "Constante" et une note.
?> |
|
Voir aussi
les constantes de classe.