Constructeur nécessaire
<?php
const A = 'b::c';
class B {
static function C() { echo __METHOD__; }
}
//valid call to \B::C()
constant('A')();
// class A not found
//new A;
// Call to undefined function A()
A();
// parse error, this is not supported
//{A}();
Par défaut, les classes n’ont pas besoin d’un constructeur, et celui-ci peut être omis. C’est également vrai dans le cas des classes enfants : PHP recherche d’abord un constructeur local, puis un constructeur parent, et il est valide de n’en avoir aucun.
En revanche, si l’un des enfants effectue un appel explicite à parent::__construct, alors il doit exister au moins un constructeur explicite dans la hiérarchie. Sinon, PHP génère le message d’erreur Cannot call constructor.
En règle générale, il peut être judicieux d’inclure toujours la définition du constructeur, pour éviter de devoir l’ajouter plus tard.
See Also
PHP Error Messages
PHP Features
Last updated: 11 October 2026