source: pro-violet-viettel/sourcecode/application/third_party/Twig/Node/Import.php

Last change on this file was 345, checked in by quyenla, 11 years ago

collaborator page

File size: 1.3 KB
Line 
1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) 2009 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 import node.
14 *
15 * @package    twig
16 * @author     Fabien Potencier <fabien.potencier@symfony-project.com>
17 */
18class Twig_Node_Import extends Twig_Node
19{
20    public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag = null)
21    {
22        parent::__construct(array('expr' => $expr, 'var' => $var), array(), $lineno, $tag);
23    }
24
25    /**
26     * Compiles the node to PHP.
27     *
28     * @param Twig_Compiler A Twig_Compiler instance
29     */
30    public function compile(Twig_Compiler $compiler)
31    {
32        $compiler
33            ->addDebugInfo($this)
34            ->write('')
35            ->subcompile($this->getNode('var'))
36            ->raw(' = ')
37        ;
38
39        if ($this->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this->getNode('expr')->getAttribute('name')) {
40            $compiler->raw("\$this");
41        } else {
42            $compiler
43                ->raw('$this->env->loadTemplate(')
44                ->subcompile($this->getNode('expr'))
45                ->raw(")")
46            ;
47        }
48
49        $compiler->raw(";\n");
50    }
51}
Note: See TracBrowser for help on using the repository browser.