假设我有一个类:
class father {
function __construct() {
$msg = "Blah...\n";
print $msg;
}
function doSomething() {
$msg = get_class($this) . " does something...\n";
print $msg;
}
}
和孩子一样:
class child extends father {
function __construct() {
$this->doSomething()
}
}
和
class eldest extends father {
function __construct() {
$this->doSomething()
}
}
有没有办法返回父类的子节点(本例中为child和eldest)的当前实例的数组?
答案 0 :(得分:1)
如果你的意思是扩展father
的每个班级,你应该通过Reflection绕所有宣布的班级旅行:
$subclasses = array();
foreach(get_declared_classes() as $class)
{
$reflection = new ReflectionClass($class);
$reflection -> isSubClassOf('father') && $subclasses[] = $class;
}
var_dump($subclasses);
检查结果。
编辑:如果你需要了解实例,请迭代get_defined_vars()
- 但为什么你需要知道这个?