Middle
¿Qué es un cierre en PHP?
sobes.tech AI
Respuesta de la IA
Función-objeto con la capacidad de capturar variables del ámbito de su creador, incluso después de que dicho ámbito haya finalizado su ejecución.
<?php
// Cierre que captura $factor
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Salida: 20
echo $triple(10); // Salida: 30
Características principales:
- Son instancias de la clase
Closure. - Pueden heredar variables del ámbito superior mediante la palabra clave
use. - Las variables heredadas se heredan por valor, a menos que se indique explícitamente la herencia por referencia (
use (&$variable)). - Se usan comúnmente para crear funciones anónimas que "recuerdan" el contexto en el que fueron creadas.