Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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