#[\Override]

PHP 🟢 Junior

Dé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

#core#php83

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre