Dumping and Manipulating the AST of ExpressionsEdit this page
It’s difficult to manipulate or inspect the expressions created with the ExpressionLanguage component, because the expressions are plain strings. A better approach is to turn those expressions into an AST. In computer science, AST (Abstract Syntax Tree) is "a tree representation of the structure of source code written in a programming language". In Symfony, a ExpressionLanguage AST is a set of nodes that contain PHP classes representing the given expression.
Call the getNodes() method after parsing any expression to get its AST:
1 2 3 4 5 6 7 8 9 10 11 12
use Symfony\Component\ExpressionLanguage\ExpressionLanguage; $ast = (new ExpressionLanguage()) ->parse('1 + 2', ) ->getNodes() ; // dump the AST nodes for inspection var_dump($ast); // dump the AST nodes as a string representation $astAsString = $ast->dump();