Treci la conținutul principal

Domeniul variabilelor în PHP

Poți declara o variabilă PHP oriunde într-un script, dar asta nu înseamnă că o poți folosi peste tot. Partea din script în care o variabilă este disponibilă se numește domeniul ei, iar domeniile sunt de trei feluri: local, global și static.


Domeniul global și domeniul local

Locul în care declari o variabilă îi decide domeniul. Declarată în afara unei funcții, are domeniu global și nu poate fi accesată din funcții. Declarată în interiorul unei funcții, are domeniu local și există doar pentru acea funcție.

Variabilă cu domeniu global

$x este creată în afara lui myTest(), așa că funcția nu o vede și nu afișează nicio valoare. Doar echo din afara funcției arată 5:

Prompt
Scrie un script PHP care declară o variabilă $x cu valoarea 5 în afara unei funcții numite myTest. În interiorul funcției, încearcă să afișezi cu echo $x. Apoi apelează funcția. Acest lucru va arăta că o variabilă globală nu poate fi accesată în interiorul unei funcții.
Ieșire: script PHP

Variabilă cu domeniu local

De data aceasta $x este creată în interiorul lui myTest(), așa că doar echo din funcție arată 5. Linia din afara funcției nu are ce afișa:

Prompt
Scrie un script PHP cu o funcție numită myTest care declară o variabilă locală $x cu valoarea 5 și o afișează cu echo. După apelarea funcției, încearcă să afișezi cu echo $x în afara funcției. Acest lucru va arăta că o variabilă locală nu poate fi accesată în afara unei funcții.
Ieșire: script PHP

Cuvântul cheie global în PHP

O funcție poate totuși să ajungă la o variabilă globală dacă ceri acest lucru. În interiorul funcției, scrie cuvântul cheie global înaintea numelor variabilelor.

Folosirea cuvântului cheie global

Cu global $x, $y; funcția lucrează direct cu variabilele exterioare, așa că noua valoare a lui $y rămâne și după ce funcția se termină:

Prompt
Scrie un script PHP care declară două variabile globale $x = 5 și $y = 10. Creează o funcție numită myTest care folosește cuvântul cheie global pentru a accesa $x și $y și stochează suma lor în $y. Apelează funcția și afișează cu echo $y.
Ieșire: script PHP

Folosirea tabloului $GLOBALS

PHP păstrează, de asemenea, toate variabilele globale într-un tablou numit $GLOBALS[index]. O funcție le poate citi și modifica prin acest tablou, cum face codul de aici:

Prompt
Scrie un script PHP care declară două variabile globale $x = 5 și $y = 10. Creează o funcție numită myTest care folosește tabloul $GLOBALS pentru a accesa $x și $y și stochează suma lor în $GLOBALS['y']. Apelează funcția și afișează cu echo $y.
Ieșire: script PHP

Cuvântul cheie static în PHP

Variabilele unei funcții dispar în mod normal după ce aceasta termină de rulat. Uneori însă vrei ca o variabilă locală să rămână până la următorul apel, pentru că încă ai nevoie de valoarea ei. Adaugă pur și simplu cuvântul cheie static atunci când o declari prima dată:

Folosirea cuvântului cheie static

Pentru că $x este static, fiecare apel continuă de unde s-a oprit cel anterior, așa că rezultatul numără 0, 1, 2:

Prompt
Scrie un script PHP cu o funcție numită myTest care declară o variabilă statică $x cu valoarea 0, afișează cu echo $x și apoi incrementează $x. Apelează funcția de trei ori pentru a arăta că variabila statică își păstrează valoarea între apeluri.
Ieșire: script PHP