This article will introduce to you what AST Inspector is and how to use the PHP AST step debugger. I hope it will be helpful to friends in need~
When you learn to write custom rules for PHPStan or Rector, you also Must learn more about PHP programming language.
More precisely, it's about the way the interpreter parses PHP code. The result of parsing PHP code is a node tree that represents the structure of the code. For example, you will have a definition node for a class, a definition node for a method, and declaration nodes within these methods, etc.
Each node can be checked for errors (using PHPStan), or automatically reconstructed in some way (using Rector). [Recommended learning: PHP video tutorial]
This node tree is called Abstract Syntax Tree. A successful PHPStan or Rector rule must first be selected from the tree correct nodes and "subscribe" your rules to these nodes. A common approach is to start var_dump
-ing or echo
-ing the node in your new rule, but I find this to be tedious.
That's why I created a simple command line tool that lets you inspect the nodes of any given PHP file.
This tool is called AST Inspector and can be found on GitHub.
GitHub address: https://github.com/matthiasnoback/php-ast-inspector/
Install it with Composer.
composer require --dev matthiasnoback/php-ast-inspector
Then run.
vendor/bin/ast-inspect inspect [file.php]
You will see something similar to this output.
You can navigate in the tree by going to the next or previous node, or jump to the child nodes of the selected node. Navigation can be easily done using the a,s,d,w
keys.
Currently this project uses the PHP-Parser library for parsing. Since PHPStan adds extra virtual nodes to the AST, it would also be useful to display them in this tool, but it requires some extra work. Another interesting addition is to display the types deduced by PHPStan for variables in the code being inspected. This also requires some extra work...
Now, give this program a try.
The above is the detailed content of What is AST Inspector? How to use the PHP AST step debugger?. For more information, please follow other related articles on the PHP Chinese website!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools
