2010-08-12 16 views
12

¿Es posible obtener todas las subclases de clase dada en php?cómo obtener todas las subclases de una clase en php

+0

¿Quieres decir "hey, PHP, ¿qué subclases existen para la clase MyBaseClass"? Probablemente no, porque pueden vivir en archivos que no están cargados. – sblom

+0

encuentra el comentario para php http://stackoverflow.com/questions/436159/how-to-get-all-subclasses – Centurion

Respuesta

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

Casualmente, esta aplicación es exactamente the one dada en la pregunta vinculada a Vadim.

+0

Sí, es necesario tener en cuenta que solo funcionará si los archivos que definen estas clases ya están disponibles (auto) cargado. Gran código sin embargo. –

Cuestiones relacionadas