Michael: PHP5 interpretation Problem

Beitrag lesen

Generell lassen sich Klassen- und Objektvariablen nicht mit Funktionsergebnissen initialisieren. Zu welchem Zeitpunkt sollte denn das geschehen? Bereits beim Parsen, wenn noch gar nicht aller Code fertig geparst wurde? Nach dem Parsen und bevor die Steuerung an dein Script übergeben wird? Beim ersten Zugreifen?

Statische initialisierungen *könnte* PHP z.B. beim Erreichen der schliessenden "}" der Klasse ausführen, analog wie z.B. Java dies beim laden der Klasse tut, oder am Ende des Parsevorgangs für das File in dem die Klasse definiert wurde. Wohl mehr eine Frage des Wollens als den Könnens seitens der PHP-Entwickler.

Objektvariablen können übringens mit Funktionsaufrufen initialisiert werden (z.B.: "private $myarray = array();" geht).

Den Konstruktor vorzuschieben ist nichts weiter als eine schlechte Ausrede, PHP ist *sehr* eigenwillig was OO angeht. Die Initialisierung vom Membern ist gerade in PHP weniger fehleranfällig als der Konstruktor (Stichwort: Vererbung, Kindkonstruktor).

Gruss
Michael