searchResult = $searchResult; $this->query = $query; } /** * @return array|mixed */ public function current() { return $this->current; } /** * @return void */ public function next() { ++$this->key; $this->current = $this->searchResult->createDataObject($this->query->fetchItem()); } /** * @return int|mixed */ public function key() { return $this->key; } /** * @return bool */ public function valid() { return !empty($this->current); } /** * @return void */ public function rewind() { $this->current = null; $this->key = 0; $this->query->reset(); $this->next(); } }