ReflectionFunctionAbstract::getClosureCalledClass Возвращает класс, который соответствует разрешению static:: внутри замыкания &reftitle.description; public ReflectionClassnullReflectionFunctionAbstract::getClosureCalledClass Метод возвращает объект рефлексии ReflectionClass для класса, который соответствует статическому разрешению названия класса — static:: внутри объекта Closure. &reftitle.parameters; &no.function.parameters; &reftitle.returnvalues; Метод возвращает объект рефлексии класса — ReflectionClass, который соответствует представлению static:: внутри объекта Closure. Метод вернёт &null; вместо объекта рефлексии класса, если функция не принадлежит типу замыкания или ограничивается глобальной областью видимости. &reftitle.examples; Пример разницы в значениях возврата методов <methodname>ReflectionFunctionAbstract::getClosureCalledClass</methodname>, <methodname>ReflectionFunctionAbstract::getClosureScopeClass</methodname> и <methodname>ReflectionFunctionAbstract::getClosureThis</methodname> при отражении замыкания, которому доступен контекст объекта getClosure(); $r = new ReflectionFunction($c); var_dump($r->getClosureThis()); // Выводит $this === $b, поскольку нестатическое замыкание захватывает контекст объекта var_dump($r->getClosureScopeClass()); // Соответствует разрешению self::class внутри замыкания var_dump($r->getClosureCalledClass()); // Соответствует разрешению static::class внутри замыкания ?> ]]> &example.outputs; string(1) "A" } object(ReflectionClass)#4 (1) { ["name"]=> string(1) "B" } ]]> Пример разницы в значениях возврата методов <methodname>ReflectionFunctionAbstract::getClosureCalledClass</methodname>, <methodname>ReflectionFunctionAbstract::getClosureScopeClass</methodname> и <methodname>ReflectionFunctionAbstract::getClosureThis</methodname> при отражении статического замыкания без доступа к контексту объекта getClosure(); $r = new ReflectionFunction($c); var_dump($r->getClosureThis()); // Выводит NULL, поскольку псевдопеременная $this недоступна в статическом контексте var_dump($r->getClosureScopeClass()); // Соответствует разрешению self::class внутри замыкания var_dump($r->getClosureCalledClass()); // Соответствует разрешению static::class внутри замыкания ?> ]]> &example.outputs; string(1) "A" } object(ReflectionClass)#4 (1) { ["name"]=> string(1) "B" } ]]> &reftitle.seealso; ReflectionFunctionAbstract::getClosureScopeClass ReflectionFunctionAbstract::getClosureThis