Statična izjava PHP
Čar statičnega stavka PHP je, da funkciji omogoča, da "pomni" vrednost lokalne spremenljivke za naslednjič, ko je funkcija poklicana.

V tej vadnici boste izvedeli, kako uporabiti statični stavek PHP, da funkciji PHP dodelimo "spomin". Osnovna funkcija PHP ne more zapomniti vrednosti lokalne spremenljivke, ki je bila ustvarjena ali spremenjena znotraj funkcije. Ko je funkcija končana, izgine vse znanje o vrednosti spremenljivke funkcije. Za rešitev te težave lahko s pomočjo statičnega stavka PHP povemo funkciji, da si zapomni vrednost lokalne spremenljivke od enega klica funkcije do naslednjega klica. Oglejmo si osnovno kodo.

funkcija count_calls ()
{
statični $ no_calls = 0;
$ no_calls ++;
echo "Ta funkcija se imenuje $ no_calls times.";
}


ime funkcije funkcije ()
funkcija count_calls ()
Tu ni nič novega. Kot v preteklih vadnicah tudi ime funkcije identificira to funkcijo in navodila za funkcijo so postavljena med naslednjima {in}.

statična $ spremenljivka = vrednost;
statični $ no_calls = 0;
To je statični stavek, ki se uporablja za ohranjanje tekočega števila (in si zapomnite) tolikokrat, ko je bila ta funkcija poklicana. Ko se funkcija pokliče, bo statični stavek inicializiral spremenljivko $ no_calls na začetno vrednost 0. Potem, ko se funkcija nadaljuje, se vrednost spremenljivke poveča za 1. Drugi in naslednji čas, ko se funkcija pokliče, povečana vrednost spremenljivke se spomni zadnjega časa. To se morda ne zdi čarobno, dokler ne ugotovite, da bo brez statičnega stavka vrednost spremenljivke enaka vsakič, ko se ta funkcija pokliče.

$ spremenljivka ++;
$ no_calls ++;
Ta izraz poveča trenutno vrednost spremenljivke $ no_calls za 1. Čarovnost statičnega stavka je, da lahko funkcija zdaj "zapomni" povečano vrednost spremenljivke $ no_calls za naslednjič, ko je funkcija poklicana.

izjava o odmevu
echo "Ta funkcija se imenuje $ no_calls times.";
Ta izjava echo bo natisnila besedilo in novo (povečano) vrednost spremenljivke $ no_calls v spletni brskalnik.

To je vse, kar je v naši funkciji. Ko se naslednjič pokliče ta funkcija, se vrednost spremenljivke $ no_calls zapomni od zadnje izvedbe funkcije in nato znova poveča za eno.





Navodila Video: OOP PHP - Statične varijable i funkcije (Maj 2024).