17 Usage: php ${_SERVER[
'PHP_SELF']} <
class>
19 Displays a graphical tree
for the given <class>.
21 <
class> The
class or interface for which to generate the tree graph.
28 if (!class_exists(
"RecursiveTreeIterator",
false)) require_once(
"recursivetreeiterator.inc");
39 foreach(get_declared_classes() as $cname)
41 $parent = get_parent_class($cname);
42 if (strcasecmp($parent, $base) == 0)
46 if ($check_interfaces)
50 $parent_imp = class_implements($parent);
52 foreach(class_implements($cname) as $iname)
54 if (strcasecmp($iname, $base) == 0)
56 if (!$parent || !in_array($iname, $parent_imp))
64 if ($check_interfaces)
66 foreach(get_declared_interfaces() as $cname)
68 foreach(class_implements($cname) as $iname)
70 if (strcasecmp($iname, $base) == 0)
77 $this->
uksort(
'strnatcasecmp');
84 $result = parent::key();
85 $parent = get_parent_class($result);
88 $interfaces = array_diff(class_implements($result), class_implements($parent));
91 $implements = array();
92 foreach($interfaces as $interface)
94 $implements = array_merge($implements, class_implements($interface));
96 $interfaces = array_diff($interfaces, $implements);
98 $result .=
' (' . join(
', ', $interfaces) .
')';
108 foreach(
$it as $c=>$v)
uksort(mixed cmp_function)
Sort the entries by key using user defined function.
RecursiveIteratorIterator to generate ASCII graphic trees for the entries in a RecursiveIterator.
offsetSet($index, $newval)
__construct($base, $check_interfaces=false)
A recursive array iterator.
Collects sub classes for given class or interface.
natcasesort()
Sort the entries by values using case insensitive "natural order" algorithm.