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

问题描述 投票:13回答:2

是否有可能在php中获得给定类的所有子类?

php inheritance subclass
2个回答
28
投票
function getSubclassesOf($parent) {
    $result = array();
    foreach (get_declared_classes() as $class) {
        if (is_subclass_of($class, $parent))
            $result[] = $class;
    }
    return $result;
}

巧合的是,此实现正是由Vadim链接的问题中给出的the one


0
投票

使用PHP 7.4:

$children = array_filter(get_declared_classes(), fn($class) => is_subclass_of($class, MyClass::class)); 
© www.soinside.com 2019 - 2024. All rights reserved.