Middle
Šta je zatvaranje u PHP-u?
sobes.tech АИ
Одговор од АИ
Objekat-funkcija sa mogućnošću hvatanja promenljivih iz okruženja u kojem je kreirana, čak i nakon što je to okruženje završilo sa izvršavanjem.
<?php
// Zatvaranje koje hvata $factor
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Izlaz: 20
echo $triple(10); // Izlaz: 30
Glavne osobine:
- Predstavljaju instance klase
Closure. - Mogu naslediti promenljive iz nadređenog okruženja pomoću ključne reči
use. - Nasleđene promenljive se nasledjuju po vrednosti, osim ako nije eksplicitno naznačeno nasledjivanje po referenci (
use (&$promenljiva)). - Često se koriste za kreiranje anonimnih funkcija koje "sećaju" kontekst svog kreiranja.