Sobes.tech
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.