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 .