Co reference dělají
PHP reference umožňují zajistit, aby dvě proměnné odkazovaly na tentýž
obsah. Tzn. když provedete:
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):
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:
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.