Was Referenzen leisten

PHP Referenzen erlauben es , zwei Variablennamen sich auf den gleichen Variableninhalt beziehen zu lassen . Das heisst im folgenden Beispiel , dass sich $a und $b auf dieselbe Variable beziehen :




Anmerkung: $a und $b sind hier gleichwertig, und $a ist nicht nur ein Zeiger auf $b oder umgekehrt, sondern $a und $b zeigen auf den selben Inhalt.



Seit PHP 4.0.4 kann auch in Verbindung mit new verwendet werden .






Anmerkung : Wenn der Operator nicht verwendet wird , erzeugt PHP eine Kopie des Objekts . Wenn nun $this innerhalb der Klasse verwendet wird , bezieht es sich auf die aktuelle Instanz der Klasse . Die Zuordnung ohne erzeugt eine Kopie der Instanz ( d.h . des Objekts ) und $this wird sich auf die Kopie beziehen . In der Regel will man aus Performance - und Speicherverbrausgründen nur eine einzige Instanz einer Klasse erzeugen . Dafür stellt PHP den bereit .

Eine weitere Einsatzmöglichkeit von Referenzen ist die Übergabe von Parametern an eine Funktion mit pass-by-reference . Hierbei beziehen sich der lokale Variablenname als auch der Variablenname der aufrufenden Instanz auf denselben Variableninhalt :




Nach der Ausführung hat $a den Wert 6, da sich in der Funktion foo der Variablenname $var auf denselben Variableninhalt bezieht wie $a in der aufrufenden Instanz (hier das Hauptprogramm).

Daneben besteht die Möglichkeit aus Funktionen heraus Werte mit return by-reference zurückzugeben .