Constantes abstraites
By WebSmithery
<?php
abstract class Foo {
// self-referential 'abstract' declaration
const NAME = self::NAME;
}
class Fooling extends Foo {
// Overrides definition from parent class
// Without this declaration, an error will be triggered
const NAME = 'Donald';
}
Il existe un modèle assez courant pour déclarer des “constantes de classe abstraites” en PHP.
Le chargement paresseux de PHP empêche l’erreur “Fatal error: Uncaught Error: Cannot declare self-referencing constant self::NAME” si la constante est surchargée.
Cela crée une « constante abstraite » effective, qui doit être définie pour être utilisable.
See Also
- Constantes de classe (manuel PHP)
- Abstraction de classes (manuel PHP)
- Abstract constants in PHP - Force a child class to define a constant
- Abstract Class Constant on 3v4l.org [Try me]
PHP Features
Last updated: 04 October 2026