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