将一个子数组返回给PHP类?

时间:2012-08-25 00:15:44

标签: php object

假设我有一个类:

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)的当前实例的数组?

1 个答案:

答案 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() - 但为什么你需要知道这个?