Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym jest zamknięcie i jak działa w PHP?

sobes.tech AI

Odpowiedź od AI

W PHP, zamknięcie to anonimowa funkcja, która może przechwytywać zmienne ze swojego zewnętrznego zakresu i używać ich wewnątrz siebie, nawet po zakończeniu działania funkcji zewnętrznej. Pozwala to na tworzenie funkcji z zachowaną stanem.

Przykład:

function counter() {
    $count = 0;
    return function() use (&$count) {
        $count++;
        return $count;
    };
}

$countFunc = counter();
echo $countFunc(); // 1
echo $countFunc(); // 2

Tutaj anonimowa funkcja przechwytuje zmienną $count przez referencję i zachowuje jej wartość między wywołaniami.