final

"final" heisst endgültig

Einsatz an drei Orten

Es kommt ganz darauf an, wo final notiert wird.

  1. final für eine Klasse: Damit kann die Klasse (als Ganzes) nicht vererbt werden.
  2. final für eine Methode: Die Methode kann in der Subklasse nicht überschrieben werden (vergl. das Thema "Override" in diesem Lernpfad)
  3. final für eine Klassen-Konstante: Die Konstante kann in in der Subklasse nicht überschrieben werden (seit PHP 8.1)

Hinweis: Eigenschaften können nicht als final deklariert werden.

Für was muss ich das wissen?

Auswirkungen verstehen

final wirst du vermutlich erst dann im eigenen Code brauchen, wenn du schon etwas Übung mit der OOP hast.
Trotzdem lohnt es sich, dieses OOP-Konzept im Ansatz zu verstehen, insbesondere was die Auswirkungen von final betrifft. Wenn du nämlich ein PHP-Framework verwendest, wirst du sehr schnell merken, dass sich nicht alles vererben oder überschreiben lässt,was im Framework zur Verfügung steht.

Versuche also die Ursache der Fehlermeldungen in den Code-Beispielen zu verstehen, du ersparst dir viel Frust, wenn du mit einem Framework arbeitest!