Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bridge/Twig/TokenParser/FormThemeTokenParser.php
Строк: 71
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyBridgeTwigTokenParser;

use 
SymfonyBridgeTwigNodeFormThemeNode;

/**
 * Token Parser for the 'form_theme' tag.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class FormThemeTokenParser extends Twig_TokenParser
{
    
/**
     * Parses a token and returns a node.
     *
     * @param Twig_Token $token A Twig_Token instance
     *
     * @return Twig_NodeInterface A Twig_NodeInterface instance
     */
    
public function parse(Twig_Token $token)
    {
        
$lineno $token->getLine();
        
$stream $this->parser->getStream();

        
$form $this->parser->getExpressionParser()->parseExpression();

        if (
$this->parser->getStream()->test(Twig_Token::NAME_TYPE'with')) {
            
$this->parser->getStream()->next();
            
$resources $this->parser->getExpressionParser()->parseExpression();
        } else {
            
$resources = new Twig_Node_Expression_Array(array(), $stream->getCurrent()->getLine());
            do {
                
$resources->addElement($this->parser->getExpressionParser()->parseExpression());
            } while (!
$stream->test(Twig_Token::BLOCK_END_TYPE));
        }

        
$stream->expect(Twig_Token::BLOCK_END_TYPE);

        return new 
FormThemeNode($form$resources$lineno$this->getTag());
    }

    
/**
     * Gets the tag name associated with this token parser.
     *
     * @return string The tag name
     */
    
public function getTag()
    {
        return 
'form_theme';
    }
}
Онлайн: 0
Реклама