2010-08-12 21 views
12

Có thể nhận tất cả các lớp con của lớp đã cho trong php không?cách lấy tất cả các lớp con của một lớp trong php

+0

Bạn có nghĩa là "hey, PHP, lớp con nào ở ngoài lớp MyBaseClass"? Có lẽ không, bởi vì họ có thể sống trong các tệp không được tải. – sblom

+0

tìm nhận xét cho php http://stackoverflow.com/questions/436159/how-to-get-all-subclasses – Centurion

Trả lời

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

Thật trùng hợp, việc triển khai này chính xác là the one được đưa ra trong câu hỏi được liên kết bởi Vadim.

+0

Có, nó chỉ cần lưu ý nó sẽ chỉ hoạt động nếu các tệp xác định các lớp này đã (tự động) được tải. Tuyệt vời mã mặc dù. –

Các vấn đề liên quan