Das mit den Referenzen ist ein Versuch die Zeiger aus C und C++ abzubilden. Ich finde aber, das es den PHP-Entwicklern nicht wirklich gelungen ist und man sollte meiner Meinung nach die Finger davon lassen. Keiner weiss, wie genau da irgendwelche Variablen im Speicher abgelegt werden und in wieweit Fremdangriffe möglich sind.
Zurück zum Thema.
Ich hatte einige Posts weiter vorne einen kurzen Abriss einer möglichen Datenbankklasse gegeben. Der Gedanke dahinter ist, die Instanz der Datenbankklasse in eine statische Variable zu schreiben um von überall aus Zugriff auf die in der statischen Variable abgelegte Instanz der Klasse zu haben. Es wird also nur ein einziges mal eine Verbindung zum Datenbankserver aufgebaut und aufrecht erhalten.
In jeden Skript, welches Datenbankunterstützung benötigt, wird die Instanz über die Funktion DB :: getInstance() geladen. Man hat also nicht die Mühe die ganze Zeit die Variable mit der Instanz übergeben zu müssen. Sie verbleibt statisch im Speicher bis die Abarbeitung vollkommen beendet ist.