/** * Implementation of IteratorAggregate::getIterator() */ public function getIterator() { if (!$this->getPageSize() || !$this->getCurPage()) { return parent::getIterator(); } $this->load(); $start = $this->getPageSize() * ($this->getCurPage() - 1); return new ArrayIterator(array_slice($this->_items, $start, $this->getPageSize())); }