Déclarer avant ou après
<?php
// defined before the parent class : no error
class y extends x {}
abstract class x {
abstract function foo();
}
// defined after the parent class : error
class y2 extends x {}
?>
PHP saisit l’occasion de valider tout ce qu’il peut quand c’est commode, et laisse le reste à l’exécution. Dans le code ci-dessous, la première classe ne génère aucune erreur, car elle est analysée avant la classe parente. La dernière classe affiche une erreur parce qu’elle apparaît après la définition du parent, et PHP peut alors la vérifier paresseusement.
La validation de la première classe sera plus approfondie au moment de l’exécution, et produira l’erreur à ce moment-là.
See Also
- Order Of Declaration Is Lintable [Try me]
PHP Error Messages
PHP Features
Last updated: 11 October 2026