PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

AST Inspector是啥?PHP AST步骤调试器怎么用?

藏色散人
藏色散人 转载
2022-11-08 16:39:39 2683浏览

本文给大家介绍什么是ast inspector,怎么用php ast步骤调试器,希望对需要的朋友有所帮助~

当你学习为PHPStan或Rector编写自定义规则时,你也必须学习更多关于PHP编程语言的知识。

更准确地说,是关于解释器解析PHP代码的方式。解析PHP代码的结果是一棵代表代码结构的节点树,例如,你会有一个类的定义节点,一个方法的定义节点,以及这些方法中的声明节点,等等。

每个节点都可以被检查出错误(用PHPStan),或者以某种方式自动重构(用Rector)。【推荐学习:PHP视频教程

这棵节点树被称为抽象语法树,一个成功的PHPStan或Rector规则首先要从树上选择正确的节点,并将你的规则 "订阅 "给这些节点。一个常见的方法是在你的新规则中开始var_dump-ing或echo-ing节点,但我发现这是很繁琐的。

这就是为什么我创建了一个简单的命令行工具,让你检查任何给定的PHP文件的节点。

这个工具叫做AST Inspector,可以在GitHub上找到。

GitHub地址:https://github.com/matthiasnoback/php-ast-inspector/

用Composer安装它。

composer require --dev matthiasnoback/php-ast-inspector

然后运行。

vendor/bin/ast-inspect inspect [file.php]

你会看到类似于这个输出的东西。

Screenshot of PHP AST inspector

你可以通过进入下一个或上一个节点在树中导航,或者跳到所选节点的子节点中。导航可以方便地使用a,s,d,w 键。

目前该项目使用PHP-Parser库进行解析。由于PHPStan在AST中增加了额外的虚拟节点,在这个工具中显示它们也会很有用,但这需要一些额外的工作。另一个有趣的补充是显示PHPStan为被检查代码中的变量推导的类型。这也需要一些额外的工作...

现在,请试一试这个程序。

声明:本文转载于:juejin,如有侵犯,请联系admin@php.cn删除