Php 我可以检查是否有子类并获取它们的名称吗?

Php 我可以检查是否有子类并获取它们的名称吗?,php,oop,Php,Oop,我想检查我的类是否有子类并获取它们的名称。可能吗?如何实现这一点?必须加载子类才能工作。首先,使用get\u-declared\u-classes()获取PHP知道的类数组 然后,遍历该数组,并在每个数组上使用is\u subclass\u of,以测试它是否是要测试的父类的子类 如果您的子类不一定要加载,您可以使用glob()例如“lib/*php”,扫描文件夹中的特定模式,并使用require\u once()加载找到的文件。此函数将提供类中的所有子类 function getSubclas

我想检查我的类是否有子类并获取它们的名称。可能吗?如何实现这一点?

必须加载子类才能工作。首先,使用
get\u-declared\u-classes()
获取PHP知道的类数组

然后,遍历该数组,并在每个数组上使用
is\u subclass\u of
,以测试它是否是要测试的父类的子类


如果您的子类不一定要加载,您可以使用
glob()
例如
“lib/*php”
,扫描文件夹中的特定模式,并使用
require\u once()

加载找到的文件。此函数将提供类中的所有子类

function getSubclassesOf($parent) { 

     $result = array(); 
     foreach (get_declared_classes() as $class) { 
           if (is_subclass_of($class, $parent)) $result[] = $class; 
     }
     return $result; 
}