Manuál PHP | ||
---|---|---|
Předcházející | Kapitola 21. Vysvětlení referencí (odkazů) | Další |
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.
Předcházející | Domů | Další |
Vysvětlení referencí (odkazů) | Nahoru |