Hostign Towebs
 
    BUSCARDOR 
 
Lo que las Referencias son

Lo que las Referencias son

Las Referencias en PHP te permiten lograr que dos variables "apunten" al mismo contenido. Cuando haces algo como:

$a =& $b

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):

$bar =& new fooclass();
$foo =& find_var ($bar);

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:

function foo (&$var)
{
    $var++;
}

$a=5;
foo ($a);

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.



 
 
Rute path: HOME / MANUALES Y TUTORIALES / MANUAL DE PHP
Home | Hosting | Housing | Revendedores | Soporte | Empresa | Mapa del Sitio | Contacto | FAQ | Blog Corporativo
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.