Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist AST Inspector? Wie verwende ich den PHP AST Step Debugger?

Was ist AST Inspector? Wie verwende ich den PHP AST Step Debugger?

藏色散人
藏色散人nach vorne
2022-11-08 16:39:392892Durchsuche

In diesem Artikel erfahren Sie, was AST Inspector ist und wie Sie den PHP AST Step Debugger verwenden. Ich hoffe, dass er Freunden in Not hilfreich sein wird. ~

Wenn Sie lernen, benutzerdefinierte Regeln für PHPStan oder Rector zu schreiben, müssen Sie auch lernen mehr über PHP Kenntnisse in Programmiersprachen.

Genauer gesagt geht es um die Art und Weise, wie der Interpreter PHP-Code analysiert. Das Ergebnis des Parsens von PHP-Code ist ein Knotenbaum, der die Struktur des Codes darstellt. Sie verfügen beispielsweise über einen Definitionsknoten für eine Klasse, einen Definitionsknoten für eine Methode und Deklarationsknoten innerhalb dieser Methoden usw.

Jeder Knoten kann auf Fehler überprüft (mit PHPStan) oder auf irgendeine Weise automatisch rekonstruiert werden (mit Rector). [Empfohlenes Lernen: PHP-Video-Tutorial]

Dieser Knotenbaum heißt Abstrakter Syntaxbaum Eine erfolgreiche PHPStan- oder Rector-Regel muss zuerst den richtigen Knoten aus dem Baum auswählen und Ihre Regel diesen Knoten „abonnieren“. Ein üblicher Ansatz besteht darin, Knoten in Ihrer neuen Regel mit var_dump oder echo zu versehen, aber ich finde, das ist mühsam. 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

Deshalb habe ich ein einfaches Befehlszeilentool erstellt, mit dem Sie die Knoten einer beliebigen PHP-Datei überprüfen können.

Dieses Tool heißt AST Inspector und ist auf GitHub zu finden.

GitHub-Adresse: https://github.com/matthiasnoback/php-ast-inspector/🎜
🎜Installieren Sie es mit Composer. 🎜rrreee🎜 und lauf. 🎜rrreee🎜Sie werden etwas Ähnliches wie diese Ausgabe sehen. 🎜🎜Screenshot des PHP AST-Inspektors🎜🎜Sie Sie können durch den Baum navigieren, indem Sie zum nächsten oder vorherigen Knoten gehen oder zu den untergeordneten Knoten des ausgewählten Knotens springen. Die Navigation wird mit den Tasten a,s,d,w erleichtert. 🎜🎜Derzeit verwendet dieses Projekt die PHP-Parser-Bibliothek zum Parsen. Da PHPStan dem AST zusätzliche virtuelle Knoten hinzufügt, wäre es auch nützlich, diese in diesem Tool anzuzeigen, aber das erfordert einige zusätzliche Arbeit. Eine weitere interessante Ergänzung besteht darin, die von PHPStan abgeleiteten Typen für Variablen im überprüften Code anzuzeigen. Dies erfordert auch einige zusätzliche Arbeit ... 🎜🎜Probieren Sie diese App jetzt aus. 🎜

Das obige ist der detaillierte Inhalt vonWas ist AST Inspector? Wie verwende ich den PHP AST Step Debugger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen