PHP-Parser简单介绍
PHP-Parser 是一个用 PHP 编写的 PHP 解析器(支持 PHP 5.4 以及更早的版本),该项目的目的是简化静态代码分析和操作。
抽象语法树(Abstract syntaxtree, AST)是将源代码按照一定的语法结构,并且将一些冗余的细节抽象为树状结构进行表示。
主要功能是:
- 将PHP 5,PHP 7和PHP 8代码解析为抽象语法树(AST)。
- 无效的代码可以解析为部分AST。
- AST包含准确的位置信息。
- 以人类可读的形式倾销AST。
- 将AST转换回PHP代码。
- 实验性的:对于部分更改的AST,可以保留格式。
- 遍历和修改AST的基础结构。
- 命名空间名称的解析。
- 常量表达式的评估。
- 简化AST构建的代码生成器。
- 将AST转换为JSON并返回。
源码:PHP-Parser
作为PHP语言的语法分析工具,其本身就是使用PHP语言进行实现的,且支持节点遍历等功能。使用composer可以很方便地安装PHP-Parser:
安装环境(windows下安装)
// 安装composer
composer: PHP中用来管理依赖关系的工具
选择安装路径
curl -s http://getcomposer.org/installer | php
//安装PHP-Parser:(需提前安装好PHP环境)
php composer.phar require nikic/php-parser
代码测试
源码
//source.php
<?php
$offser = $_GET['var'];
$query = " SELECT id,name FROM products ORDER BY
name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn,$query);
echo "this is print data";
?>
转换后的结果