(PHP 8 >= 8.3.0)
Dieses Attribut wird verwendet, um anzuzeigen, dass eine Methode eine Methode einer Elternklasse überschreiben soll oder dass sie eine in einer Schnittstelle definierte Methode implementiert.
Wenn es weder in einer Elternklasse noch in einer implementierten Schnittstelle eine Methode mit demselben Namen gibt, wird ein Kompilierungsfehler ausgegeben. emitted.
<?php
class Base {
protected function foo(): void {}
}
final class Extended extends Base {
#[\Override]
protected function boo(): void {}
}
?>
Das oben gezeigte Beispiel erzeugt mit PHP 8.3 eine ähnliche Ausgabe wie:
Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists