class DeprecatedTokenParser
Deprecates a section of a template.
{% deprecated 'The "base.twig" template is deprecated, use "layout.twig" instead.' %} {% extends 'layout.html.twig' %}
{% deprecated 'The "base.twig" template is deprecated, use "layout.twig" instead.' package="foo/bar" version="1.1" %}
@author Yonel Ceruto <yonelceruto@gmail.com>
@internal
Hierarchy
- class \Twig\TokenParser\AbstractTokenParser implements \Twig\TokenParser\TokenParserInterface
- class \Twig\TokenParser\DeprecatedTokenParser extends \Twig\TokenParser\AbstractTokenParser
Expanded class hierarchy of DeprecatedTokenParser
1 file declares its use of DeprecatedTokenParser
- CoreExtension.php in vendor/
twig/ twig/ src/ Extension/ CoreExtension.php
File
-
vendor/
twig/ twig/ src/ TokenParser/ DeprecatedTokenParser.php, line 31
Namespace
Twig\TokenParserView source
final class DeprecatedTokenParser extends AbstractTokenParser {
public function parse(Token $token) : Node {
$stream = $this->parser
->getStream();
$expressionParser = $this->parser
->getExpressionParser();
$expr = $expressionParser->parseExpression();
$node = new DeprecatedNode($expr, $token->getLine());
while ($stream->test(Token::NAME_TYPE)) {
$k = $stream->getCurrent()
->getValue();
$stream->next();
$stream->expect(Token::OPERATOR_TYPE, '=');
switch ($k) {
case 'package':
$node->setNode('package', $expressionParser->parseExpression());
break;
case 'version':
$node->setNode('version', $expressionParser->parseExpression());
break;
default:
throw new SyntaxError(\sprintf('Unknown "%s" option.', $k), $stream->getCurrent()
->getLine(), $stream->getSourceContext());
}
}
$stream->expect(Token::BLOCK_END_TYPE);
return $node;
}
public function getTag() : string {
return 'deprecated';
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
AbstractTokenParser::$parser | protected | property | ||
AbstractTokenParser::setParser | public | function | Sets the parser associated with this token parser. | Overrides TokenParserInterface::setParser |
DeprecatedTokenParser::getTag | public | function | Gets the tag name associated with this token parser. | Overrides TokenParserInterface::getTag |
DeprecatedTokenParser::parse | public | function | Parses a token and returns a node. | Overrides TokenParserInterface::parse |