dedlfix: Verständnisfrage zu der OOP in PHP

Beitrag lesen

echo $begrüßung;

Auch in PHP 5 gibt es noch Unterschiede mit der Toleranz für 'var'.

Anfänglich war var unter PHP 5 deprecated und wurde mit einer E_STRICT-Meldung bemängelt. Mittlerweise ist var ein Synonym für public.

Wie reagierte denn die PHP 4, wenn man keinen Kunstruktor definiert hatte?

Genauso wie PHP 5. Konstruktoren sind optional. Gibt es keinen, wird ein Objekt ebenso angelegt wie mit Konstruktor. Natürlich dann ohne den Konstruktor-Inhalt auszuführen, gibt ja keinen.

Zur Frage, warum Variablendeklaration weggelassen werden können: Das PHP-Prinzip "Ich leg sie an, wenn du das erste Mal in eine Variable schreibst" gilt auch für die OOP. Das explizite Deklarieren der Klassen-Variablen dient nicht nur der Übersichtlichkeit sondern auch der Initialisierung mit einem Default-Wert. Handelt es sich nicht um einen berechneten Wert kann man den gleich dort angeben und spart sich unter Umständen den Konstruktor.

class foo {
    var bar = 'defaultwert';
    ...
  }

echo "$verabschiedung $name";