dedlfix: __construct in Parent-Klasse automatisch aufrufen.

Beitrag lesen

Tach!

Die PHP-Vorgehensweise kommt mir sehr seltsam vor.
Welchen Sinn soll es haben, daß *kein* Constructor der Super-Klasse aufgerufen wird? Das führt ggf. dazu, daß die Super-Klasse nicht initialisiert ist.

Definiere "(nicht) initialisiert"! Der Konstruktor ist lediglich eine Funktion, die nach der Erzeugung des Objekts aufgerufen wird. Wenn es nichts weiter zu tun gibt, muss kein Konstruktor aufgerufen werden. Die Eigenschaften des Objekts können uninitialisiert (auf null) bleiben oder auch gleich bei ihrer eigenen Deklaration einen Wert zugewiesen bekommen, solange das ein konstanter Ausdruck ist. Und ob eine Elternklasse eine Initialisierung braucht oder nicht, kann man nicht mit einer verallgemeinernden Sinnfrage klären.

Anders gefragt, welchen Sinn sollte es haben, dass unter allen Umständen ein Konstruktor aufgerufen wird, selbst wenn der keine Funktion ausführt? Das wäre nur ein unnützer Funktionsaufruf - oder eine ganze Kette davon. Es mag da sicher Argumente in die eine und die andere Richtung geben, aber die Sinnfrage zu diskutieren ist müßig. PHP macht das auf eine bestimmte Art und Weise, die kann man beschreiben, damit man damit umgehen kann. Ob man das sinnvoll findet oder nicht, nützt beim Anwenden nicht weiter.

dedlfix.