Documentación offline PHP master

ReflectionFunctionAbstract::getClosureCalledClass

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

En esta página

ReflectionFunctionAbstract::getClosureCalledClass

Devuelve la clase correspondiente a static:: dentro de una función anónima

Descripción#

public ReflectionFunctionAbstract::getClosureCalledClass(): ReflectionClass
```php

Devuelve la clase como `ReflectionClass` que corresponde a la resolución del nombre de clase correspondiente a `static::` dentro de la `Closure`.

## Parámetros

Esta función no contiene ningún parámetro.

## Valores devueltos

Devuelve una `ReflectionClass` correspondiente a la clase representada por `static::` en la `Closure`. Si la función no es una función anónima o si tiene un ámbito global, `null` es devuelto en su lugar.

## Ejemplos

Ejemplo que ilustra la diferencia entre ReflectionFunctionAbstract::getClosureCalledClass, ReflectionFunctionAbstract::getClosureScopeClass, y ReflectionFunctionAbstract::getClosureThis con una función anónima en el contexto del objeto
getClosure(); $r = new ReflectionFunction($c); var_dump($r->getClosureThis()); // $this === $b, ya que una función anónima no estática toma el contexto del objeto var_dump($r->getClosureScopeClass()); // Corresponde a la resolución de self::class dentro de una función anónima var_dump($r->getClosureCalledClass()); // Corresponde a la resolución de static::class dentro de una función anónima ?>
El ejemplo anterior mostrará:

    string(1) "A"
    string(1) "B"
    object(B)#1 (0) {
    }
    object(ReflectionClass)#4 (1) {
      ["name"]=>
      string(1) "A"
    }
    object(ReflectionClass)#4 (1) {
      ["name"]=>
      string(1) "B"
    }

Ejemplo que ilustra la diferencia entre ReflectionFunctionAbstract::getClosureCalledClass, ReflectionFunctionAbstract::getClosureScopeClass, y ReflectionFunctionAbstract::getClosureThis con una función anónima estática sin contexto de objeto
getClosure(); $r = new ReflectionFunction($c); var_dump($r->getClosureThis()); // NULL, ya que la pseudo-variable $this no está disponible en un contexto estático var_dump($r->getClosureScopeClass()); // Corresponde a la resolución de self::class dentro de una función anónima var_dump($r->getClosureCalledClass()); // Corresponde a la resolución de static::class dentro de una función anónima ?>

```php

El ejemplo anterior mostrará:

string(1) "A"
string(1) "B"
NULL
object(ReflectionClass)#4 (1) {
  ["name"]=>
  string(1) "A"
}
object(ReflectionClass)#4 (1) {
  ["name"]=>
  string(1) "B"
}

Véase también#

ReflectionFunctionAbstract::getClosureScopeClass

ReflectionFunctionAbstract::getClosureThis