2010-08-12 7 views
12

Est-il possible d'obtenir toutes les sous-classes de classe donnée en php?comment obtenir toutes les sous-classes d'une classe en php

+0

Vous voulez dire "hé, PHP, quelles sous-classes sont là pour la classe MyBaseClass"? Probablement pas, parce qu'ils peuvent vivre dans des fichiers qui ne sont pas chargés. – sblom

+0

trouver le commentaire de php http://stackoverflow.com/questions/436159/how-to-get-all-subclasses – Centurion

Répondre

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

Coïncidence, cette mise en œuvre est exactement the one dans la question liée par Vadim.

+0

Oui, il faut juste garder à l'esprit que ça ne marchera que si les fichiers qui définissent ces classes sont déjà (auto) chargé. Bon code cependant. –