helly           Sun Sep  4 14:55:04 2005 EDT

  Modified files:              (Branch: PHP_5_1)
    /php-src/ext/spl/examples   recursivefilteriterator.inc 
  Log:
  - MFH
  
http://cvs.php.net/diff.php/php-src/ext/spl/examples/recursivefilteriterator.inc?r1=1.3&r2=1.3.2.1&ty=u
Index: php-src/ext/spl/examples/recursivefilteriterator.inc
diff -u php-src/ext/spl/examples/recursivefilteriterator.inc:1.3 
php-src/ext/spl/examples/recursivefilteriterator.inc:1.3.2.1
--- php-src/ext/spl/examples/recursivefilteriterator.inc:1.3    Tue Feb  8 
14:10:05 2005
+++ php-src/ext/spl/examples/recursivefilteriterator.inc        Sun Sep  4 
14:55:03 2005
@@ -13,6 +13,7 @@
  * @brief   A recursive Filter
  * @author  Marcus Boerger
  * @version 1.0
+ * @since PHP 6.0
  *
  * Passes the RecursiveIterator interface to the inner Iterator and provides
  * the same functionality as FilterIterator. This allows you to skip parents
@@ -28,27 +29,30 @@
  */
 abstract class RecursiveFilterIterator extends FilterIterator implements 
RecursiveIterator
 {
-       /*! The constructor takes a RecursiveIterator
+       /** @param $it the RecursiveIterator to filter
         */
        function __construct(RecursiveIterator $it)
        {
-               $this->ref = new ReflectionClass($this);
                parent::__construct($it);
        }
 
-       /*! return whether the inner iterator has children
+       /** @return whether the current element has children
         */
        function hasChildren()
        {
                return $this->getInnerIterator()->hasChildren();
        }
 
-       /*! \return children as instance of derived RecursiveFilterIterator 
class
+       /** @return an iterator for the current elements children
         *
-        *  \see RecursiveFilterIterator
+        * @note the returned iterator will be of the same class as $this
         */
        function getChildren()
        {
+               if (empty($this->ref))
+               {
+                       $this->ref = new ReflectionClass($this);
+               }
                return 
$this->ref->newInstance($this->getInnerIterator()->getChildren());
        }
        

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to