Redéfinition de constante
<?php
const A = 1;
const A =1; // warning!
class X {
const B = 2;
const B = 2; // fatal error
}
Il est possible de spécifier plusieurs définitions de constante globale identiques : PHP signale un avertissement et ignore les définitions suivantes.
En revanche, une définition en double d’une constante de classe est une erreur fatale, et fait échouer la phase de compilation.
La différence de comportement peut être liée au niveau de cohérence que PHP peut atteindre : les constantes globales nécessitent une vérification de l’unicité des noms à l’échelle de l’application, tandis que les constantes de classe peuvent être vérifiées lors de la compilation d’une classe.
Cela dit, il pourrait valoir la peine d’harmoniser les deux erreurs, afin d’éviter des bogues difficiles à trouver.
See Also
PHP Error Messages
PHP Features
Last updated: 11 October 2026