Refactor section_iterator_objects example.

Defining an IteratorObject class is unnecessary: the ArrayIterator will do just fine.
This commit is contained in:
Justin Hileman
2010-08-15 06:27:54 -04:00
parent 4c85d9f3e4
commit e40a57cba1
@@ -3,38 +3,14 @@
class SectionIteratorObjects extends Mustache { class SectionIteratorObjects extends Mustache {
public $start = "It worked the first time."; public $start = "It worked the first time.";
public function middle() {
return new IteratorObject();
}
public $final = "Then, surprisingly, it worked the final time.";
}
class IteratorObject implements Iterator {
protected $_position = 0;
protected $_data = array( protected $_data = array(
array('item' => 'And it worked the second time.'), array('item' => 'And it worked the second time.'),
array('item' => 'As well as the third.'), array('item' => 'As well as the third.'),
); );
public function rewind() { public function middle() {
$this->_position = 0; return new ArrayIterator($this->_data);
} }
public function current() { public $final = "Then, surprisingly, it worked the final time.";
return $this->_data[$this->_position];
}
public function key() {
return $this->_position;
}
public function next() {
++$this->_position;
}
public function valid() {
return isset($this->_data[$this->_position]);
}
} }