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

时间:2015-04-02 18:01:16

标签: php class oop closures

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

class Foo {}

class Bar extends Foo {}

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

如何在不实例化Bar的情况下获取字符串('Foo')?我不能指望$closure会返回什么,因为它将被输入我的班级。

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

甚至可能吗?

1 个答案:

答案 0 :(得分:0)

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

<?php

class Foo {}

class Bar extends Foo {}

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

var_dump($closure());

输出:

string 'Foo' (length=3)