echo $begrüßung;
» » - Eigenschaften der Klasse sollten nicht public sein
Es kommt darauf an. Man kann sie durchaus public setzen und dann mittels Overloading entsprechend intervenieren. Somit spart man sich die Getter- und Setter-Methoden fuer Properties, die keine weiteren Behandlungen benoetigen.
Das geht nicht. PHPs Overloading springt erst dann an, wenn eine Eigenschaft nicht vorhanden ist.
Wenn man zugunsten der Einfachheit auf das Erstellen von Getter und Setter verzichtet hat, nun aber doch eine andere Zugriffslogik braucht, kann man das wie folgt lösen. Man erstellt Getter und Setter und löscht die ehemalige public-Variable. Per Overloading ruft man im Falle des Zugriffs auf die ehemalige Variable nun Getter und Setter auf.
» »» - Der Destruktor sollte für ein geeordnetes Lebensende der Klasse sorgen, also hier das
» »» Beenden der Datenbankverbindung.
Mit der Verwendung von Destruktoren unter PHP muss man recht achtsam sein, denn "The destructor method will be called as soon as all references to a particular object are removed or when the object is explicitly destroyed or in any order in shutdown sequence.". Und ein Aufrufer wird nur in den seltesten Faellen mueszig genug sein und den Destruktor explizit aufrufen.
Dann lag ich mit meiner letzten Anmerkung in jenem Beitrag etwas falsch. Da hier aber ein Singleton im Spiel ist, ist die Instanz (nach ihrer Erzeugung) immer vorhanden, da sie einer statischen Klasseneigenschaft zugewiesen ist. Und die wird erst am Scriptende aufgeräumt und somit kommt auch erst dann der Konstruktur zum Zuge.
Vorher will man den auch gar nicht aufrufen, denn die anwendenden Codeteile wissen nicht, ob nach ihnen noch jemand die DB-Verbindung benötigt. Und die DB-Klasse selbst weiß auch nicht, ob noch jemand daherkommt.
echo "$verabschiedung $name";