#[\Override]
PHP 🟢 JuniorDéfinition
Attribut de PHP 8.3 qui déclare qu'une méthode surcharge une méthode parente ou d'interface. Si aucune méthode correspondante n'existe (faute de frappe, renommage dans la classe mère), PHP lève une erreur fatale à la compilation au lieu de laisser une méthode orpheline silencieuse.
Analogie
Le « répondre à » d'un courriel : si le message d'origine n'existe pas, la messagerie refuse d'envoyer.
Exemple de code
class MyTest extends TestCase
{
#[\Override]
protected function taerDown(): void
{
// Fatal error: MyTest::taerDown() has #[\Override]
// attribute, but no matching parent method exists
}
}
Cas d'usage
Tests, hooks de framework et hiérarchies profondes : sécuriser les refactorisations de la classe mère.
Anti-pattern
Poser #[\Override] sur une méthode nouvelle qui ne surcharge rien : erreur fatale immédiate.
Termes liés
Sources
Fiche mise à jour le 2026-09-27