Dumping and Manipulating the AST of Expressions
Dumping and Manipulating the AST of Expressions¶
Manipulating or inspecting the expressions created with the ExpressionLanguage component is difficult because they 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.
Dumping the AST¶
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', array()) ->getNodes() ; // dump the AST nodes for inspection var_dump($ast); // dump the AST nodes as a string representation $astAsString = $ast->dump();
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.