shop.balmet.com

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

Import.php (1025B)


      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  * Imports macros.
     14  *
     15  * <pre>
     16  *   {% import 'forms.html' as forms %}
     17  * </pre>
     18  */
     19 class Twig_TokenParser_Import extends Twig_TokenParser
     20 {
     21     public function parse(Twig_Token $token)
     22     {
     23         $macro = $this->parser->getExpressionParser()->parseExpression();
     24         $this->parser->getStream()->expect('as');
     25         $var = new Twig_Node_Expression_AssignName($this->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue(), $token->getLine());
     26         $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
     27 
     28         $this->parser->addImportedSymbol('template', $var->getAttribute('name'));
     29 
     30         return new Twig_Node_Import($macro, $var, $token->getLine(), $this->getTag());
     31     }
     32 
     33     public function getTag()
     34     {
     35         return 'import';
     36     }
     37 }