Co reference d∞lajφ

PHP reference umo╛≥ujφ zajistit, aby dv∞ prom∞nnΘ odkazovaly na tent²╛ obsah. Tzn. kdy╛ provedete:

$a =& $b

znamenß to, ╛e $a a $b ukazujφ na stejnou prom∞nnou.

Poznßmka: $a a $b jsou zde ·pln∞ ekvivalentnφ, tj. nikoliv ╛e $a ukazuje na $b apod., n²br╛ ╛e $a a $b ukazujφ na stejnΘ mφsto.

Stejnß syntaxe se m∙╛e pou╛φt s funkcemi, kterΘ vracφ reference a s operßtorem new (v PHP 4.0.4 a pozd∞j╣φch):

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

Poznßmka: Nepou╛itφ operßtoru & zp∙sobφ zkopφrovßnφ objektu. Kdy╛ ve t°φd∞ pou╛ijete $this, bude se pracovat s aktußlnφ instancφ t°φdy. P°i°azenφ bez & zkopφruje instanci (nap°. objektu) a $this bude pracovat s touto kopiφ, co╛ nenφ v╛dy to, co se po╛aduje. V∞t╣inou chcete mφt jedinou instanci, s nφ╛ budete pracovat, kv∙li rychlosti a alokaci pam∞ti.

Druhou v∞cφ, kterou reference d∞lajφ, je p°edßvßnφ prom∞nn²ch odkazem. To se d∞lß vytvo°enφm lokßlnφ prom∞nnΘ ve funkci a prom∞nnΘ v kontextu volajφcφho prost°edφ, kdy se odkazuje na tent²╛ obsah. Nap°φklad:

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

$a=5;
foo ($a);

nastavφ do $a hodnotu 6. To proto, ╛e ve funkci foo prom∞nnß $var odkazuje tent²╛ obsah jako $a. Viz detailn∞j╣φ vysv∞tlenφ o p°edßvßnφ odkazem.

T°etφ v∞cφ, kterou mohou reference d∞lat, je vracenφ p°es reference.