cvs: php-src /ext/spl/examples class_tree.php
| From: | Marcus Boerger | Date: | Sat, 02 Feb 2008 21:02:08 +0000 |
| Subject: | cvs: php-src /ext/spl/examples class_tree.php | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-48271@lists.php.net to get a copy of this message | ||
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;
}
}