Closure::getCurrent
En esta página
Closure::getCurrent
Devuelve la closure actualmente en ejecución
Descripción#
public static Closure::getCurrent(): Closure
```php
Devuelve la closure actualmente en ejecución. Este método es principalmente útil para implementar closures recursivas sin necesidad de capturar una referencia a la variable de la closure usando la palabra clave `use`.
Este método debe ser llamado desde dentro de una closure; llamarlo fuera de un contexto de closure resultará en `Error: Current function is not a closure.`
## Parámetros
Esta función no contiene ningún parámetro.
## Valores devueltos
Devuelve la instancia de `Closure` actualmente en ejecución.
## Errores/Excepciones
Lanza un `Error` si se llama fuera de un contexto de closure.
## Ejemplos
Ejemplo de Closure::getCurrent
Uso de Closure::getCurrent para implementar una función de Fibonacci recursiva:
Comparación con el enfoque tradicional
Antes de PHP 8.5, implementar closures recursivas requería capturar una referencia a la variable de la closure usando la palabra clave `use`:
```php
El enfoque con Closure::getCurrent elimina la necesidad de declarar la variable con una referencia en la cláusula use, lo que hace el código más limpio y menos propenso a errores.