Парсер
класс Parser
Парсит поток токенов.
Этот парсер реализует алгоритм "подъема по приоритету".
Константы
| OPERATOR_LEFT | |
| OPERATOR_RIGHT |
Методы
| __construct(array $functions) | ||
| Node | parse(TokenStream $stream, array $names = array()) Преобразует поток токенов в дерево узлов. | |
| parseExpression($precedence) | ||
| parsePrimaryExpression() | ||
| parseArrayExpression() | ||
| parseHashExpression() | ||
| parsePostfixExpression($node) | ||
| parseArguments() Парсит аргументы. |
Подробности
__construct(array $functions)
Параметры
| array | $functions |
Node parse(TokenStream $stream, array $names = array())
Преобразует поток токенов в дерево узлов.
Массив $names содержит имена, которые пользователь может использовать в выражении.
Если имя переменной в сгенерированном PHP коде должно быть другим, задайте его в качестве ключа.
Например, ['this' => 'container'] означает, что переменная 'container' может быть использована в выражении, но сгенерированный код будет использовать 'this'.
Параметры
| TokenStream | $stream | Экземпляр потока токенов |
| array | $names | Массив допустимых имён |
Возвращаемое значение
| Node | Дерево узлов |
Исключения
| SyntaxError |
parseExpression($precedence)
Параметры
| $precedence |
parsePrimaryExpression()
parseArrayExpression()
parseHashExpression()
parsePostfixExpression($node)
Параметры
| $node |
parseArguments()
Парсит аргументы.
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/ExpressionLanguage/Parser.html