如何在php中获取类的所有子类
2022-08-31 00:32:12
是否可以在php中获取给定类的所有子类?
function getSubclassesOf($parent) {
$result = array();
foreach (get_declared_classes() as $class) {
if (is_subclass_of($class, $parent))
$result[] = $class;
}
return $result;
}
巧合的是,这个实现正是Vadim所链接的问题中给出的那个。
使用 PHP 7.4:
$children = array_filter(get_declared_classes(), fn($class) => is_subclass_of($class, MyClass::class));