ExpressionParser
in package
Parses expressions.
since Twig 3.21
This parser implements a "Precedence climbing" algorithm.
Tags
Table of Contents
Constants
- OPERATOR_LEFT = 1
- OPERATOR_RIGHT = 2
Properties
- $env : Environment
- $parser : Parser
Methods
- __construct() : mixed
- parseArguments() : Node
- Parses arguments.
- parseArrayExpression() : mixed
- parseAssignmentExpression() : mixed
- parseExpression() : mixed
- parseFilterExpression() : mixed
- parseFilterExpressionRaw() : mixed
- parseHashExpression() : mixed
- parseMappingExpression() : mixed
- parseMultitargetExpression() : mixed
- parseOnlyArguments() : mixed
- parsePostfixExpression() : mixed
- parsePrimaryExpression() : mixed
- parseSequenceExpression() : mixed
- parseStringExpression() : mixed
- parseSubscriptExpression() : mixed
- checkConstantExpression() : bool
Constants
OPERATOR_LEFT
since Twig 3.21
public
mixed
OPERATOR_LEFT
= 1
OPERATOR_RIGHT
since Twig 3.21
public
mixed
OPERATOR_RIGHT
= 2
Properties
$env
private
Environment
$env
$parser
private
Parser
$parser
Methods
__construct()
public
__construct(Parser $parser, Environment $env) : mixed
Parameters
- $parser : Parser
- $env : Environment
parseArguments()
Parses arguments.
public
parseArguments() : Node
since Twig 3.19 Use Twig\ExpressionParser\Infix\ArgumentsTrait::parseNamedArguments() instead
Tags
Return values
NodeparseArrayExpression()
public
parseArrayExpression() : mixed
since Twig 3.11, use parseExpression() instead
parseAssignmentExpression()
public
parseAssignmentExpression() : mixed
since Twig 3.21, use "AbstractTokenParser::parseAssignmentExpression()" instead
parseExpression()
public
parseExpression([mixed $precedence = 0 ]) : mixed
Parameters
- $precedence : mixed = 0
parseFilterExpression()
public
parseFilterExpression(mixed $node) : mixed
since Twig 3.21
Parameters
- $node : mixed
parseFilterExpressionRaw()
public
parseFilterExpressionRaw(mixed $node) : mixed
since Twig 3.21
Parameters
- $node : mixed
parseHashExpression()
public
parseHashExpression() : mixed
since Twig 3.11, use parseExpression() instead
parseMappingExpression()
public
parseMappingExpression() : mixed
since Twig 3.21
parseMultitargetExpression()
public
parseMultitargetExpression() : mixed
since Twig 3.21
parseOnlyArguments()
public
parseOnlyArguments() : mixed
since Twig 3.19 Use Twig\ExpressionParser\Infix\ArgumentsTrait::parseNamedArguments() instead
parsePostfixExpression()
public
parsePostfixExpression(mixed $node) : mixed
since Twig 3.21
Parameters
- $node : mixed
parsePrimaryExpression()
public
parsePrimaryExpression() : mixed
since Twig 3.21
parseSequenceExpression()
public
parseSequenceExpression() : mixed
since Twig 3.21
parseStringExpression()
public
parseStringExpression() : mixed
since Twig 3.21
parseSubscriptExpression()
public
parseSubscriptExpression(mixed $node) : mixed
since Twig 3.21
Parameters
- $node : mixed
checkConstantExpression()
private
checkConstantExpression(Node $node) : bool
Parameters
- $node : Node