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
.