Преглед на файлове

Refactor section_iterator_objects example.

Defining an IteratorObject class is unnecessary: the ArrayIterator will do just fine.
Justin Hileman преди 15 години
родител
ревизия
e40a57cba1
променени са 1 файла, в които са добавени 3 реда и са изтрити 27 реда
  1. 3 27
      examples/section_iterator_objects/SectionIteratorObjects.php

+ 3 - 27
examples/section_iterator_objects/SectionIteratorObjects.php

@@ -3,38 +3,14 @@
 class SectionIteratorObjects extends Mustache {
 	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(
 		array('item' => 'And it worked the second time.'),
 		array('item' => 'As well as the third.'),
 	);
 
-	public function rewind() {
-		$this->_position = 0;
-	}
-
-	public function current() {
-		return $this->_data[$this->_position];
-	}
-
-	public function key() {
-		return $this->_position;
-	}
-
-	public function next() {
-		++$this->_position;
+	public function middle() {
+		return new ArrayIterator($this->_data);
 	}
 
-	public function valid() {
-		return isset($this->_data[$this->_position]);
-	}
+	public $final = "Then, surprisingly, it worked the final time.";
 }