Returns the class hierarchy for a given class.
string $className:
boolean $asReflectionObjects:
array
public static function getHierarchy($className, $asReflectionObjects = FALSE) {
if ($asReflectionObjects) {
$classes = array(
new ReflectionClass($className),
);
}
else {
$classes = array(
$className,
);
}
$done = FALSE;
while (!$done) {
if ($asReflectionObjects) {
$class = new ReflectionClass($classes[count($classes) - 1]
->getName());
}
else {
$class = new ReflectionClass($classes[count($classes) - 1]);
}
$parent = $class
->getParentClass();
if ($parent !== FALSE) {
if ($asReflectionObjects) {
$classes[] = $parent;
}
else {
$classes[] = $parent
->getName();
}
}
else {
$done = TRUE;
}
}
return $classes;
}