_hydrator = $hydrator; } /** * @return void * * @throws HydrationException */ #[ReturnTypeWillChange] public function rewind() { if ($this->_rewinded === true) { throw new HydrationException('Can only iterate a Result once.'); } $this->_current = $this->next(); $this->_rewinded = true; } /** * Gets the next set of results. * * @return mixed[]|false */ #[ReturnTypeWillChange] public function next() { $this->_current = $this->_hydrator->hydrateRow(); $this->_key++; return $this->_current; } /** * @return mixed */ #[ReturnTypeWillChange] public function current() { return $this->_current; } /** * @return int */ #[ReturnTypeWillChange] public function key() { return $this->_key; } /** * @return bool */ #[ReturnTypeWillChange] public function valid() { return $this->_current !== false; } }