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.