dedlfix: Wie zwinge ich eine Unterklasse zum Setzen einer Variablen?

Beitrag lesen

echo $begrüßung;

ja klar, du kannst die Variable ja im Konstruktor verlangen. Wenn sie dann nicht mitgegeben wird gibts halt nen Fehler ;)

Eine Unterklasse muss den Konstruktor der Oberklasse nicht aufrufen. Es gibt dabei auch keinen Fehler. Mit dem Konstruktor der Oberklasse ist der Inhalt der Eigenschaft nicht sicherzustellen.

Vielleicht hilft etwas Magie (von PHP5 ausgehend). Die Oberklasse definiert die Methode __get(). Diese Methode wird von PHP immer dann aufgerufen, wenn eine Eigenschaft nicht existiert. Gibt es die Eigenschaft, wird __get() nicht aufgerufen. Gibt es sie nicht, kann nun wie gewünscht reagiert werden.

echo "$verabschiedung $name";