获取闭包返回的 class 的父级而不实例化

Get parent of class returned by closure without instanciating

如何在不实例化 class 的情况下获取包含 class return 闭包的父 class 名称的字符串?

class Foo {}

class Bar extends Foo {}

$closure = function() {
    return new Bar;
};

如何在不实例化 Bar 的情况下获取字符串 ('Foo')?我无法预料 $closure 会 return,因为它将输入到我的 class.

我知道我可以使用 ReflectionClass::getParentClass() 方法获得另一个的父 class。

有可能吗?

我不明白你想要实现什么以及为什么你不能期待闭包的输出,但你可以做类似这样的事情:

<?php

class Foo {}

class Bar extends Foo {}

$closure = function() {
    $reflection = new ReflectionClass('Bar');
    return $reflection->getParentClass()->getName();
};

var_dump($closure());

输出:

string 'Foo' (length=3)