如何在php中获取类的所有子类

liy*_*ysd 13 php inheritance subclass

是否可以在php中获取给定类的所有子类?

Art*_*cto 26

function getSubclassesOf($parent) {
    $result = array();
    foreach (get_declared_classes() as $class) {
        if (is_subclass_of($class, $parent))
            $result[] = $class;
    }
    return $result;
}
Run Code Online (Sandbox Code Playgroud)

巧合的是,这种实施恰好与Vadim相关的问题中给出的实现.

  • 是的,只需要记住它只有在定义这些类的文件已经(自动)加载时才有效。很棒的代码。 (2认同)