12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
-
- /*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
- /**
- * Represents an import node.
- *
- * @package twig
- * @author Fabien Potencier <fabien@symfony.com>
- */
- class Twig_Node_Import extends Twig_Node
- {
- public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag = null)
- {
- parent::__construct(array('expr' => $expr, 'var' => $var), array(), $lineno, $tag);
- }
-
- /**
- * Compiles the node to PHP.
- *
- * @param Twig_Compiler A Twig_Compiler instance
- */
- public function compile(Twig_Compiler $compiler)
- {
- $compiler
- ->addDebugInfo($this)
- ->write('')
- ->subcompile($this->getNode('var'))
- ->raw(' = ')
- ;
-
- if ($this->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this->getNode('expr')->getAttribute('name')) {
- $compiler->raw("\$this");
- } else {
- $compiler
- ->raw('$this->env->loadTemplate(')
- ->subcompile($this->getNode('expr'))
- ->raw(")")
- ;
- }
-
- $compiler->raw(";\n");
- }
- }
|