Sobes.tech
Junior — Middle

Pode explicar o que é um closure e como funciona no PHP?

sobes.tech IA

Resposta da IA

Em PHP, um encerramento é uma função anónima que pode capturar variáveis do seu âmbito externo e usá-las dentro de si, mesmo após a função externa ter terminado a sua execução. Isto permite criar funções com estado preservado.

Exemplo:

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

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

Aqui, a função anónima captura a variável $count por referência e mantém o seu valor entre chamadas.