collection = $collection; $this->keys = $this->collection->getKeys(); $this->count = $this->collection->count(); } /** * @return void */ public function rewind() { $this->index = 0; $i = $this->index; if(isset($this->keys[$i])) $this->key = $this->keys[$i]; } /** * @return integer the current key */ public function key() { return $this->key; } /** * @return Doctrine_Record the current record */ public function current() { return $this->collection->get($this->key); } /** * @return void */ public function next() { $this->index++; $i = $this->index; if(isset($this->keys[$i])) $this->key = $this->keys[$i]; } } ?>