PHP statiskais paziņojums
PHP statiskā paziņojuma maģija ir tāda, ka tas funkcijai ļauj "atcerēties" lokālā mainīgā vērtību nākamajai funkcijas izsaukšanas reizei.

Šajā apmācībā jūs uzzināsit, kā izmantot PHP statisko paziņojumu, lai PHP funkcijai piešķirtu "atmiņu". Pamata PHP funkcijai nav iespējas atcerēties lokālā mainīgā vērtību, kas ir izveidota vai mainīta funkcijas ietvaros. Kad funkcija ir pabeigta, visas zināšanas par funkcijas mainīgā vērtību pazūd. Lai izvairītos no šīs problēmas, mēs varam izmantot PHP statisko paziņojumu, lai norādītu funkcijai atcerēties lokālā mainīgā vērtību no viena funkcijas izsaukuma uz nākamo. Apskatīsim pamata kodu.

funkciju skaits_zvani ()
{
statiskā $ no_calls = 0;
$ no_calls ++;
echo "Šī funkcija ir saukta $ no_calls reizes.";
}


funkcija function_name ()
funkciju skaits_zvani ()
Šeit nav nekā jauna. Tāpat kā iepriekšējās pamācībās, funkcijas nosaukums identificē šo funkciju, un funkcijas instrukcijas ir novietotas starp šīm {un}.

statiskā $ mainīgā = vērtība;
statiskā $ no_calls = 0;
Šis ir statiskais paziņojums, kas tiek izmantots, lai saglabātu kopējo darbību (un atcerētos), cik reizes šī funkcija ir izsaukta. Pirmoreiz izsaucot funkciju, statiskais paziņojums inicializē mainīgo $ no_calls līdz sākotnējai vērtībai 0. Tad, turpinot funkciju, mainīgā vērtība tiek palielināta par 1. Otrreiz un pēc tam funkciju izsauc, mainīgā lieluma vērtību atceras no pēdējās reizes. Tas var šķist maģiski tikai tad, kad saprotat, ka bez statiska paziņojuma mainīgā vērtība būs nulle katru reizi, kad tiek izsaukta šī funkcija.

$ mainīgais ++;
$ no_calls ++;
Šis izteiciens palielina mainīgā $ no_calls pašreizējo vērtību par 1. Statiskā paziņojuma maģija ir tāda, ka funkcija tagad var "atcerēties" mainīgā $ no_calls mainīgo vērtību nākamajai reizes, kad tiek izsaukta funkcija.

atbalss paziņojums
echo "Šī funkcija ir saukta $ no_calls reizes.";
Šis atbalss paziņojums drukās tīmekļa pārlūkā tekstu un mainīgā $ no_calls mainīgo (palielinātu) vērtību.

Tas viss ir mūsu funkcijai. Nākamreiz, kad tiek izsaukta šī funkcija, mainīgās $ no_calls vērtība tiek atcerēta no pēdējās funkcijas izpildes un pēc tam atkal palielināta par vienu.





Video Instrukcijas: Week 8, continued (Maijs 2024).