2010-08-12 149 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

相關問題