倾销和操纵AST的表达式
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.3,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
倾销和操纵AST的表达式
很难操作或检查表达式用ExpressionLanguage创建的组件,因为字符串表达式是平原。更好的方法是将这些表达式转换成一个AST。在计算机科学中,AST(抽象语法树)是“树表示的结构编程语言编写的源代码”。在Sy欧宝娱乐app下载地址mfony中,ExpressionLanguage AST包含PHP类是一组节点代表给定的表达式。
倾销AST
调用getNodes ()方法解析任何表达式得到AST后:
1 2 3 4 5 6 7 8 9 10 11 12
使用欧宝娱乐app下载地址\组件\ExpressionLanguage\ExpressionLanguage;美元ast= (新ExpressionLanguage ())- >解析(“1 + 2”[])- >getNodes ();/ /转储AST节点进行检查var_dump (美元ast);/ /转储AST节点作为一个字符串表示美元astAsString=美元ast- >dump ();
操纵AST
AST的节点也可以扔进一个PHP数组节点允许操纵他们。调用toArray ()方法将AST变成一个数组:
1 2 3 4 5 6 7
/ /……美元astAsArray= (新ExpressionLanguage ())- >解析(“1 + 2”[])- >getNodes ()- >toArray ();
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。