获取闭包返回的 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)
如何在不实例化 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)