00001 <?php
00002
00030 abstract class RecursiveFilterIterator extends FilterIterator implements RecursiveIterator
00031 {
00034 function __construct(RecursiveIterator $it)
00035 {
00036 parent::__construct($it);
00037 }
00038
00041 function hasChildren()
00042 {
00043 return $this->getInnerIterator()->hasChildren();
00044 }
00045
00050 function getChildren()
00051 {
00052 if (empty($this->ref))
00053 {
00054 $this->ref = new ReflectionClass($this);
00055 }
00056 return $this->ref->newInstance($this->getInnerIterator()->getChildren());
00057 }
00058
00059 private $ref;
00060 }
00061
00062 ?>