Constantes de classe avec types différents
<?php
class A {
protected const int|string|X C = 1;
}
class B extends A {
protected const int|string|Y C = 'a';
}
Avec PHP, il est possible d’avoir une constante de classe avec des valeurs différentes entre une classe parente et sa classe enfant.
Question du jour : est-il possible d’avoir une constante de classe avec des types différents ? Et éventuellement des valeurs différentes.
Fonctionne avec PHP 8.3. Application inconnue.
L’astuce consiste à utiliser les types union, qui permettent d’ajouter de nouveaux types valides sans compatibilité ascendante.
See Also
- Différents types de constantes [Try me]
PHP Features
Last updated: 11 October 2026