Ejemplo n.º 1
0
 public function parse(Parser $parser, Stream $stream)
 {
     $node = $this->helper->createRenderBlockNode($parser->getCurrentBlock(), $this->helper->createContext($stream->next()->test(Token::IDENTIFIER, 'using'), $stream, $parser));
     $expression = $node->getChild('expression');
     if (!$expression instanceof FunctionNode) {
         throw new \UnexpectedValueException("An instance of FunctionNode was expected");
     }
     $expression->addArgument(new DataNode(true));
     return $node;
 }
Ejemplo n.º 2
0
 public function parse(Parser $parser, Stream $stream)
 {
     $templateNameToken = $stream->expect(Token::IDENTIFIER);
     $templateName = $templateNameToken->getValue();
     $stream->expect(Token::TAG_END);
     $classNode = $parser->getCurrentClassNode();
     if ($classNode->hasChild($templateName)) {
         throw new ParseException("Block {$templateName} is already defined", $templateNameToken->getLine());
     }
     $parser->enterBlock($templateName);
     $classNode->addChild($parser->parseBlock($stream, 'endblock'), $templateName);
     $stream->expect(Token::TAG_END);
     $parser->leaveBlock();
     return $this->helper->createRenderBlockNode($templateName, new TempVariableNode('context'));
 }
Ejemplo n.º 3
0
 public function parse(Parser $parser, Stream $stream)
 {
     return $this->helper->createRenderBlockNode($stream->expect(Token::IDENTIFIER)->getValue(), $this->helper->createContext($stream->next()->test(Token::IDENTIFIER, 'using'), $stream, $parser));
 }