Syntaxe
Vous pouvez d�finir une constante en utilisant la fonction define() ou en utilisant le mot-cl� const en dehors d'une d�finition de classe � partir de PHP 5.3.0. 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. Il est possible de d�finir des constantes en tant que resource, mais cet usage est d�conseill�, car il peut mener � des r�sultats inattendus.
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).
Si vous utilisez une constante non d�finie, PHP consid�re que vous souhaitez uniquement le nom de la constante elle-m�me, comme si vous l'appeliez comme �tant une cha�ne de caract�res (CONSTANT vs "CONSTANT"). Une alerte de type E_NOTICE sera �mise lorsque ce cas se produit. Lisez �galement l'entr�e du manuel qui explique pourquoi $foo[bar] est faux (tant que vous ne d�finissez pas bar comme �tant une constante). Si vous voulez simplement v�rifier qu'une constante est d�finie, utilisez la fonction defined().
Il y a des diff�rences entre les constantes et les variables :
- Les constantes ne commencent pas par le signe ($).
- Les constantes ne peuvent �tre d�finies qu'en utilisant la fonction define(), pas par simple assignement.
- 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 #1 D�finir une constante
<?php
define("CONSTANTE", "Bonjour le monde.");
echo CONSTANTE; // affiche "Bonjour le monde."
echo Constante; // affiche "Constante" et une notice.
?>
Exemple #2 D�finir des constantes en utilisant le mot-cl� const
<?php
// Fonctionne depuis PHP 5.3.0.
const CONSTANT = 'Hello World';
echo CONSTANT;
?>
Voir aussi les constantes de classe.