helly Sat Feb 2 21:02:08 2008 UTC
Modified files:
/php-src/ext/spl/examples class_tree.php
Log:
- Show interfaces
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/examples/class_tree.php?r1=1.7&r2=1.8&diff_format=u
Index: php-src/ext/spl/examples/class_tree.php
diff -u php-src/ext/spl/examples/class_tree.php:1.7
php-src/ext/spl/examples/class_tree.php:1.8
--- php-src/ext/spl/examples/class_tree.php:1.7 Tue Feb 21 23:21:53 2006
+++ php-src/ext/spl/examples/class_tree.php Sat Feb 2 21:02:08 2008
@@ -4,7 +4,7 @@
* @brief Class Tree example
* @ingroup Examples
* @author Marcus Boerger
- * @date 2003 - 2006
+ * @date 2003 - 2008
* @version 1.1
*
* Usage: php class_tree.php \<class\>
@@ -76,12 +76,29 @@
}
$this->uksort('strnatcasecmp');
}
-
+
/** @return key() since that is the name we need
*/
function current()
{
- return parent::key();
+ $result = parent::key();
+ $parent = get_parent_class($result);
+ if ($parent)
+ {
+ $interfaces = array_diff(class_implements($result),
class_implements($parent));
+ if ($interfaces)
+ {
+ $implements = array();
+ foreach($interfaces as $interface)
+ {
+ $implements = array_merge($implements,
class_implements($interface));
+ }
+ $interfaces = array_diff($interfaces,
$implements);
+ natcasesort($interfaces);
+ $result .= ' (' . join(', ', $interfaces) . ')';
+ }
+ }
+ return $result;
}
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php