subject = $subject; } /** * Destructor. */ public function __destruct() { $this->subject = null; } /** * Rewind iterator. */ public function rewind(): void { $this->position = 0; } /** * Current Worksheet. * * @return Worksheet */ public function current() { return $this->subject->getSheet($this->position); } /** * Current key. * * @return int */ public function key() { return $this->position; } /** * Next value. */ public function next(): void { ++$this->position; } /** * Are there more Worksheet instances available? * * @return bool */ public function valid() { return $this->position < $this->subject->getSheetCount() && $this->position >= 0; } }