Merge branch 'dev' into feature/implicit-iterator
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
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 valid() {
|
||||
return isset($this->_data[$this->_position]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
* {{ start }}
|
||||
{{# middle }}
|
||||
* {{ item }}
|
||||
{{/ middle }}
|
||||
* {{ final }}
|
||||
@@ -0,0 +1,4 @@
|
||||
* It worked the first time.
|
||||
* And it worked the second time.
|
||||
* As well as the third.
|
||||
* Then, surprisingly, it worked the final time.
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
class SectionMagicObjects extends Mustache {
|
||||
public $start = "It worked the first time.";
|
||||
|
||||
public function middle() {
|
||||
return new MagicObject();
|
||||
}
|
||||
|
||||
public $final = "Then, surprisingly, it worked the final time.";
|
||||
}
|
||||
|
||||
class MagicObject {
|
||||
protected $_data = array(
|
||||
'foo' => 'And it worked the second time.',
|
||||
'bar' => 'As well as the third.'
|
||||
);
|
||||
|
||||
public function __get($key) {
|
||||
return isset($this->_data[$key]) ? $this->_data[$key] : NULL;
|
||||
}
|
||||
|
||||
public function __isset($key) {
|
||||
return isset($this->_data[$key]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
* {{ start }}
|
||||
{{# middle }}
|
||||
* {{ foo }}
|
||||
* {{ bar }}
|
||||
{{/ middle }}
|
||||
* {{ final }}
|
||||
@@ -0,0 +1,4 @@
|
||||
* It worked the first time.
|
||||
* And it worked the second time.
|
||||
* As well as the third.
|
||||
* Then, surprisingly, it worked the final time.
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
class SectionObjects extends Mustache {
|
||||
public $start = "It worked the first time.";
|
||||
|
||||
public function middle() {
|
||||
return new SectionObject;
|
||||
}
|
||||
|
||||
public $final = "Then, surprisingly, it worked the final time.";
|
||||
}
|
||||
|
||||
class SectionObject {
|
||||
public $foo = 'And it worked the second time.';
|
||||
public $bar = 'As well as the third.';
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
* {{ start }}
|
||||
{{# middle }}
|
||||
* {{ foo }}
|
||||
* {{ bar }}
|
||||
{{/ middle }}
|
||||
* {{ final }}
|
||||
@@ -0,0 +1,4 @@
|
||||
* It worked the first time.
|
||||
* And it worked the second time.
|
||||
* As well as the third.
|
||||
* Then, surprisingly, it worked the final time.
|
||||
Reference in New Issue
Block a user