示例#1
0
 public function before(PHPTAL_Php_CodeWriter $codewriter)
 {
     $this->var = $codewriter->createTempVariable();
     // alias to repeats handler to avoid calling extra getters on each variable access
     $codewriter->doSetVar($this->var, '$ctx->repeat');
     list($varName, $expression) = $this->parseSetExpression($this->expression);
     $code = $codewriter->evaluateExpression($expression);
     // instantiate controller using expression
     $codewriter->doSetVar($this->var . '->' . $varName, 'new PHPTAL_RepeatController(' . $code . ')' . "\n");
     $codewriter->pushContext();
     // Lets loop the iterator with a foreach construct
     $codewriter->doForeach('$ctx->' . $varName, $this->var . '->' . $varName);
 }