Lo que las Referencias son
Las Referencias en PHP te permiten lograr que dos variables "apunten"
al mismo contenido_ Cuando haces algo como:
significa que
$a y
$b
apuntan a la misma variable_
Nota:
$a y $b son completamente iguales, no es que $a esté apuntando a
$b o viceversa, sino que tanto
$a como $b apuntan al mismo lugar_
La misma sintáxis puede ser utilizada con funciones, que devuelven Referencias,
y con el operador new (en PHP 4_0_4 o superior):
Nota:
El no utilizar el operador & causa que
el objeto sea copiado en memoria_ Si utilizamos $this
en la clase, entonces actuaremos sobre la instancia actual de
la clase_ Las asignaciones sin & harán una
copia de la instancia (por ejemplo, del objeto) y $this
operará en la copia, lo que no siempre es el comportamiento
deseado_ Usualmente se desea utilizar una sola instancia, debido
a razones de memoria y performance de la aplicación_
Mientras que se puede utilizar @ para
silenciar cualquier error en el constructor
utilizando @new, esto no funciona cuando
utilizamos &new_ Esto es una limitación
del Zend Engine y por lo tanto, resultará en un error de sintáxis_
Otro uso que se le puede dar a las referencias es el traspaso de variables
por_referencia_ Esto se logra haciendo que una variable 'local' a la
función y una variable en el script 'referencien' al mismo contenido_
Por ejemplo:
hará que
$a valga 6_ Esto es posible porque en
la funció
foo, la variable
$var
'referencia' al mismo contenido que la variable
$a_ Más
información acerca de
paso por referencia_
Un tercer uso de las referencias es el retorno por referencia_