Просмотр файла engine/classes/lib/Twig/Node/Embed.php

Размер файла: 1.15Kb
  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->env->loadTemplate(")
  32. ->string($this->getAttribute('filename'))
  33. ->raw(', ')
  34. ->string($this->getAttribute('index'))
  35. ->raw(")")
  36. ;
  37. }
  38. }