helly Fri Oct 21 19:42:57 2005 EDT Modified files: /php-src/ext/spl/examples class_tree.php Log: - Do not include because of implementing an interface if parent implements the interface already http://cvs.php.net/diff.php/php-src/ext/spl/examples/class_tree.php?r1=1.4&r2=1.5&ty=u Index: php-src/ext/spl/examples/class_tree.php diff -u php-src/ext/spl/examples/class_tree.php:1.4 php-src/ext/spl/examples/class_tree.php:1.5 --- php-src/ext/spl/examples/class_tree.php:1.4 Mon Oct 3 09:34:01 2005 +++ php-src/ext/spl/examples/class_tree.php Fri Oct 21 19:42:56 2005 @@ -33,17 +33,25 @@ { foreach(get_declared_classes() as $cname) { - if (strcasecmp(get_parent_class($cname), $base) == 0) + $parent = get_parent_class($cname); + if (strcasecmp($parent, $base) == 0) { $this->offsetSet($cname, new SubClasses($cname)); } if ($check_interfaces) { + if ($parent) + { + $parent_imp = class_implements($parent); + } foreach(class_implements($cname) as $iname) { if (strcasecmp($iname, $base) == 0) { - $this->offsetSet($cname, new SubClasses($cname)); + if (!$parent || !in_array($iname, $parent_imp)) + { + $this->offsetSet($cname, new SubClasses($cname)); + } } } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php