Middle
O que é um closure em PHP?
sobes.tech IA
Resposta da IA
Função-objeto com a capacidade de capturar variáveis do âmbito do seu criador, mesmo após esse âmbito ter terminado a sua execução.
<?php
// Encerramento que captura $factor
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Saída: 20
echo $triple(10); // Saída: 30
Principais características:
- São instâncias da classe
Closure. - Podem herdar variáveis do âmbito superior usando a palavra-chave
use. - As variáveis herdadas são herdadas por valor, a menos que seja explicitamente indicado herança por referência (
use (&$variable)). - São frequentemente usadas para criar funções anônimas que "lembram" o contexto em que foram criadas.