Как я могу получить строку, содержащую имя родительского класса класса, возвращаемого замыканием, без создания экземпляра класса?
class Foo {}
class Bar extends Foo {}
$closure = function() {
return new Bar;
};
Как я могу получить строку (‘Foo’) без создания экземпляра Bar? Я не могу ожидать, что $closure
вернется, так как он будет введен в мой класс.
Я знаю, что могу получить родительский класс другого, используя ReflectionClass::getParentClass()
метод.
Это вообще возможно?
Я не понимаю, чего вы хотите добиться и почему вы не можете ожидать выхода из закрытия, но вы можете сделать что-то похожее на это:
<?php
class Foo {}
class Bar extends Foo {}
$closure = function() {
$reflection = new ReflectionClass('Bar');
return $reflection->getParentClass()->getName();
};
var_dump($closure());
Выходы:
string 'Foo' (length=3)
Других решений пока нет …