PEEL Shopping
Open source ecommerce : PEEL Shopping
From.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of Twig.
5  *
6  * (c) 2010 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 
20 {
28  public function parse(Twig_Token $token)
29  {
30  $macro = $this->parser->getExpressionParser()->parseExpression();
31  $stream = $this->parser->getStream();
32  $stream->expect('import');
33 
34  $targets = array();
35  do {
36  $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
37 
38  $alias = $name;
39  if ($stream->test('as')) {
40  $stream->next();
41 
42  $alias = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
43  }
44 
45  $targets[$name] = $alias;
46 
47  if (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
48  break;
49  }
50 
51  $stream->next();
52  } while (true);
53 
54  $stream->expect(Twig_Token::BLOCK_END_TYPE);
55 
56  $node = new Twig_Node_Import($macro, new Twig_Node_Expression_AssignName($this->parser->getVarName(), $token->getLine()), $token->getLine(), $this->getTag());
57 
58  foreach ($targets as $name => $alias) {
59  $this->parser->addImportedSymbol('function', $alias, 'get'.$name, $node->getNode('var'));
60  }
61 
62  return $node;
63  }
64 
70  public function getTag()
71  {
72  return 'from';
73  }
74 }
Base class for all token parsers.
Definition: TokenParser.php:17
Imports macros.
Definition: From.php:19
parse(Twig_Token $token)
Parses a token and returns a node.
Definition: From.php:28
Represents an import node.
Definition: Import.php:17
const BLOCK_END_TYPE
Definition: Token.php:28
Represents a Token.
Definition: Token.php:18
const NAME_TYPE
Definition: Token.php:30
getLine()
Gets the line.
Definition: Token.php:94
const PUNCTUATION_TYPE
Definition: Token.php:34
getTag()
Gets the tag name associated with this token parser.
Definition: From.php:70

This documentation for Open ecommerce PEEL Shopping and PEEL.fr has been generated by Doxygen on Thu Oct 15 2015 14:41:19 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.