Documentación offline PHP master

Closure::getCurrent

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

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.