2010-08-12 113 views
12

是否有可能在PHP中获得给定类的所有子类?如何获得一个类的所有子类在PHP

+0

你的意思是像“嘿,PHP,MyBaseClass类有哪些子类”?可能不会,因为它们可能生活在未加载的文件中。 – sblom 2010-08-12 16:48:43

+0

找到注释php http://stackoverflow.com/questions/436159/how-to-get-all-subclasses – Centurion 2010-08-12 16:51:10

回答

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

巧合的是,这个实现是完全由瓦迪姆链接到这个问题给出the one

+0

是的,只需要记住,它只会在定义这些类的文件已经存在时才起作用(自动)加载。伟大的代码,但。 – 2013-12-09 03:38:18

相关问题