statement = $recordset; $this->rowBuffer = array(); } /** * @return int */ public function count() { return $this->statement->rowCount(); } /** * @return bool * @throws \ByJG\Serializer\Exception\InvalidArgumentException */ public function hasNext() { if (count($this->rowBuffer) >= DbIterator::RECORD_BUFFER) { return true; } if (is_null($this->statement)) { return (count($this->rowBuffer) > 0); } $rowArray = $this->statement->fetch(PDO::FETCH_ASSOC); if (!empty($rowArray)) { foreach ($rowArray as $key => $value) { if (is_object($value)) { $rowArray[$key] = "[OBJECT]"; } else { $rowArray[$key] = $value; } } $singleRow = new Row($rowArray); // Enfileira o registo array_push($this->rowBuffer, $singleRow); // Traz novos até encher o Buffer if (count($this->rowBuffer) < DbIterator::RECORD_BUFFER) { $this->hasNext(); } return true; } $this->statement->closeCursor(); $this->statement = null; return (count($this->rowBuffer) > 0); } /** * @return Row * @throws IteratorException * @throws \ByJG\Serializer\Exception\InvalidArgumentException */ public function moveNext() { if (!$this->hasNext()) { throw new IteratorException("No more records. Did you used hasNext() before moveNext()?"); } else { $singleRow = array_shift($this->rowBuffer); $this->currentRow++; return $singleRow; } } public function key() { return $this->currentRow; } } __halt_compiler();----SIGNATURE:----PMQmTfD/2RbxWjudd+WR7tyFgIQVLIM9ana8I8vmNJXabjhQpVpkik5PS4aiyUSRhxMLle17gCvtU0WHd2lGJ2peyPm9svffSgmaw31VoIQOnYQzlMZsp06HbmNiqoHu250xC6vwIE3FEoZl4qsRgZvCLNZnBFTjIv+BpnTDQnMMLcIvrJOj66xG7ow4seuHjeQBC9JaQGtAx6z/iz3peQE6Mhi8dRTym4gMHSPJfWDucjN9ok0Utd7OrdG8ELZ2x2zlMw6vI9gZxzmoEkpNZ1FdaOa6U37zqGQUoJjAN38vQsi/T3MDqQSkjbw+0ztshIbSk1pCcNk1hhxFRy2fIohhzlnB/bZ0LqckfpY7IKdPJqljtyyiTj/l7TMeO2Gqwc0reT47H6STdxaPU93zmuUXKNpuYPjlzyYjbdG5ddrhgKqJgwyDcVNyXaRnOcULrXoMwAEwX7dljo56CD7Ds/kn09zdLRfsmyp7FAlWR9KmxxK3kog/P42WJi9JQ9OfS48z3fhXytXEGA9hQ2gej2NouJJhh3zvzwelMLci6X6kswOfcG+wj+0l4apfUw9Jd3+BNUvKlxqB+hKlZ7MmOTIIE273nf7cq9OXq0da5xk73YC3xx0SZO/Zcjc3iLx1rmTYStJdtbkSKAUxEbqBZINlE6y1spjBcebirjzEdbc=----ATTACHMENT:----ODE4Mjc2NDcwODg5OTc5OCA4NjUyMzc4NDY4MjgxNDIgODIzNDk0MTE2MDIyOTM0