Închideri în PHP
![Închiderile în php (domeniul părinte) Închideri în PHP](https://webp.images-on-off.com/8/69/434x174_3ks6yt2abcgbj52sb94r.webp)
Care sunt circuitul?
Fiecare funcție numită are loc în spațiul mondial, și acolo pentru a finaliza executarea script-ul. Există situații în care funcția ar trebui să fie utilizat doar o singură dată și adăugarea de numele ei în spațiul mondial nu este de dorit. Pentru aceste scopuri PHP vă permite să creați funcții anonime, sau ca acestea sunt numite - Circuit.
important
Închizători, la creație, trebuie să fie plasat într-un element variabil în matrice sau a trecut ca parametru la un apel la o altă funcție. Dacă nu le salvați undeva pentru o utilizare ulterioară, apoi apel pentru executarea va fi imposibil.
Crearea și utilizarea de închidere
Linii directoare pentru crearea de funcții anonime:
- Expresia trebuie să înceapă cu funcția de cuvinte cheie. Acest lucru se datorează cerințelor sintaxa PHP. Dacă uitați să-l utilizați, atunci codul va eșua.
- Dincolo de cuvântul funcție (fără a specifica numele funcției), a primit parametrii sunt descriși în interiorul paranteze.
- În timpul închiderii descrierea paranteze parametru poate fi aranjate utilizarea de cuvinte cheie opțională. Acesta definește circuitul de moștenire (despre moștenire mai târziu în acest articol).
- În cazul în care utilizarea de cuvinte cheie. după ce ar trebui să fie între paranteze plasate. Ele sunt separate prin virgula indică numele moștenite variabile disponibile în domeniul de aplicare părinte.
- După ce descrie parametrii sau moștenire, bretele sunt aranjate între care este definit un instructaj cod de program.
După cum se vede din exemplul de mai sus, funcția anonim poate fi plasat într-o variabilă. Pentru a apela este necesar să se precizeze numele variabilei și paranteze pentru transferul parametrilor necesari. În general, reprezentarea acestei expresii poate arata ca „$ variabila ($ pervyy_parametr, $ vtoroy_parametr); “.
În PHP, există mai multe funcții încorporate, care pot lua ca parametri de circuit. O astfel de caracteristică este array_walk (). prima opțiune este că puteți trece o matrice, iar al doilea circuit. În timpul execuției array_walk (). Acesta va fi efectuată ocolind toate elementele matrice. Pentru fiecare dintre ele este format de circuit, chei, în care primul parametru va fi transmis, iar al doilea element de valori.
notă
Dacă funcția anonimă a fost plasat într-o variabilă, apoi eliminarea acestei variabile va elibera memorie. În PHP, un mecanism de „colectare a gunoiului“, care este ea însăși angajată în eliminarea variabilelor neutilizate, dar puteți controla manual procesul.
Moștenire de la un domeniu de aplicare părinte
Dacă utilizați cuvântul cheie a fost utilizat la crearea circuitului. Acesta este urmat imediat, în paranteze, puteți specifica numele variabilelor din domeniul de aplicare părinte. Aceste variabile vor fi disponibile în circuit atunci când este chemat.
Notă moștenire a trecut ca o copie a valorilor existente în aceste variabile în momentul funcției anonim. În cazul în care diferența dintre crearea unei funcții anonime și provocarea sa de valorile variabilelor moștenite au fost schimbate, funcția nu știe nimic despre asta. Pentru a corecta acest comportament, puteți utiliza link-uri.
Ponderea în sotscetyah: