public function compile(CompilerInterface $compiler, $local = false) { if ($local) { $compiler->write('$' . str_replace('.', '->', $this->name)); } else { $compiler->write('$env->' . str_replace('.', '->', $this->name)); } }
public function compile(CompilerInterface $compiler) { if ($this->type === '+') { $compiler->write(' . '); } else { $compiler->write(' ' . $this->type . ' '); } }
public function compile(CompilerInterface $compiler) { if ($this->type === 'not') { $compiler->write(' ! '); } elseif ($this->type === 'or') { $compiler->write(' || '); } elseif ($this->type === 'and') { $compiler->write(' && '); } elseif ($this->type === 'equals') { $compiler->write(' === '); } }
public function compile(CompilerInterface $compiler) { $compiler->write('<?php elseif( '); foreach ($this->getAttributes() as $a) { $a->compile($compiler); } $compiler->write(' ): ?>'); }
public function compile(CompilerInterface $compiler) { $compiler->write('<?php echo htmlspecialchars('); foreach ($this->getChildren() as $c) { $c->compile($compiler); } $compiler->write('); ?>'); }
public function compile(CompilerInterface $compiler) { $compiler->write('<?php $tpl->render('); foreach ($this->getAttributes() as $a) { $a->compile($compiler); } $compiler->write('); ?>'); }
public function compile(CompilerInterface $compiler) { $compiler->write('['); foreach ($this->getChildren() as $c) { $c->compile($compiler); } $compiler->write(']'); }
public function compile(CompilerInterface $compiler) { $compiler->write('<?php if( '); foreach ($this->getAttributes() as $a) { $a->compile($compiler); } $compiler->write(' ): ?>'); foreach ($this->getChildren() as $c) { $c->compile($compiler); } $compiler->write('<?php endif; ?>'); }
public function compile(CompilerInterface $compiler) { // Render the head of the extended template $compiler->head('<?=$tpl->renderHead( '); foreach ($this->getAttributes() as $a) { $subcompiler = new Compiler($a); $compiler->head($subcompiler->compile()); } $compiler->head(')?>'); // Write the head of the current template foreach ($this->getChildren() as $c) { $subcompiler = new Compiler($c); $subcompiler->compile(); $compiler->head($subcompiler->getHead()); } // Render the body of the extended template $compiler->write('<?=$tpl->renderBody( '); foreach ($this->getAttributes() as $a) { $subcompiler = new Compiler($a); $compiler->write($subcompiler->compile()); } $compiler->write(')?>'); }
public function compile(CompilerInterface $compiler) { $nameAttr = $this->getAttribute(0); $subcompiler = new Compiler($nameAttr); $name = $subcompiler->compile(); // Determine which function to use $blockHeadFunction = 'setBlock'; if ($this->getAttribute(1)) { $optionAttr = $this->getAttribute(1); if ($optionAttr->getValue() === 'prepend') { $blockHeadFunction = 'prependBlock'; } elseif ($optionAttr->getValue() === 'append') { $blockHeadFunction = 'appendBlock'; } } // Write the heads of the children first foreach ($this->getChildren() as $c) { $subcompiler = new Compiler($c); $subcompiler->compile(); $compiler->head($subcompiler->getHead()); } // Write head of itself $compiler->head('<?php $env->' . $blockHeadFunction . '( '); $compiler->head($name); $compiler->head(', function() use ( $env, $tpl ) { ?>'); foreach ($this->getChildren() as $c) { $subcompiler = new Compiler($c); $subcompiler->compile(); $compiler->head($subcompiler->getBody()); } $compiler->head('<?php } ); ?>'); // Render itself $compiler->write('<?php $env->getBlock( '); $compiler->write($name); $compiler->write('); ?>'); }
public function compile(CompilerInterface $compiler) { $compiler->write('$env->functions['); $compiler->write('\''); $compiler->write($this->funcName); $compiler->write('\''); $compiler->write(']'); $compiler->write('('); foreach ($this->getChildren() as $c) { $c->compile($compiler); } $compiler->write(')'); }
public function compile(CompilerInterface $compiler) { $loopitem = $this->getAttribute(0); $arrayable = $this->getAttribute(1); if ($loopitem instanceof VariableNode) { $compiler->write('<?php foreach('); $arrayable->compile($compiler); $compiler->write(' as '); $loopitem->compile($compiler); $compiler->write('): ?>'); foreach ($this->getChildren() as $c) { $c->compile($compiler); } $compiler->write('<?php endforeach; ?>'); $compiler->write('<?php unset('); $loopitem->compile($compiler); $compiler->write('); ?>'); } elseif ($loopitem instanceof NumberNode) { $loopvar = null; if ($this->getAttribute(2)) { $loopvar = $this->getAttribute(2); } $compiler->write('<?php for( '); $compiler->write('$i'); $compiler->write(' = '); $loopitem->compile($compiler); $compiler->write('; '); $compiler->write('$i'); $compiler->write(' <= '); $arrayable->compile($compiler); $compiler->write('; '); $compiler->write('$i'); $compiler->write('++ ): ?>'); if ($loopvar !== null) { $compiler->write('<?php $env->set( \'' . $loopvar->getName() . '\', $i ); ?>'); } foreach ($this->getChildren() as $c) { $c->compile($compiler); } $compiler->write('<?php endfor; ?>'); } }
public function compile(CompilerInterface $compiler) { $compiler->write($this->value); }
public function compile(CompilerInterface $compiler) { $compiler->write('\'' . $this->value . '\''); }
public function compile(CompilerInterface $compiler) { $compiler->write('<?php else: ?>'); }
public function compile(CompilerInterface $compiler) { $compiler->write($this->getValue()); }