shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

Embed.php (1347B)


      1 <?php
      2 
      3 /*
      4  * This file is part of Twig.
      5  *
      6  * (c) 2012 Fabien Potencier
      7  *
      8  * For the full copyright and license information, please view the LICENSE
      9  * file that was distributed with this source code.
     10  */
     11 
     12 /**
     13  * Represents an embed node.
     14  *
     15  * @author Fabien Potencier <fabien@symfony.com>
     16  */
     17 class Twig_Node_Embed extends Twig_Node_Include
     18 {
     19     // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module)
     20     public function __construct($filename, $index, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
     21     {
     22         parent::__construct(new Twig_Node_Expression_Constant('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag);
     23 
     24         $this->setAttribute('filename', $filename);
     25         $this->setAttribute('index', $index);
     26     }
     27 
     28     protected function addGetTemplate(Twig_Compiler $compiler)
     29     {
     30         $compiler
     31             ->write('$this->loadTemplate(')
     32             ->string($this->getAttribute('filename'))
     33             ->raw(', ')
     34             ->repr($compiler->getFilename())
     35             ->raw(', ')
     36             ->repr($this->getLine())
     37             ->raw(', ')
     38             ->string($this->getAttribute('index'))
     39             ->raw(')')
     40         ;
     41     }
     42 }