Maison >développement back-end >tutoriel php >Qu'est-ce qu'AST Inspector ? Comment utiliser le débogueur d'étape PHP AST ?
Cet article vous présentera ce qu'est AST Inspector et comment utiliser le débogueur d'étape PHP AST. J'espère qu'il sera utile aux amis dans le besoin ~
Lorsque vous apprenez à écrire des règles personnalisées pour PHPStan ou Rector, vous devez également apprendre. en savoir plus sur PHP Connaissance des langages de programmation.
Plus précisément, il s'agit de la façon dont l'interpréteur analyse le code PHP. Le résultat de l'analyse du code PHP est une arborescence de nœuds qui représente la structure du code. Par exemple, vous aurez un nœud de définition pour une classe, un nœud de définition pour une méthode et des nœuds de déclaration au sein de ces méthodes, etc.
Chaque nœud peut être vérifié pour les erreurs (avec PHPStan) ou automatiquement reconstruit d'une manière ou d'une autre (avec Rector). [Apprentissage recommandé : Tutoriel vidéo PHP]
Cet arbre de nœuds est appelé Arbre de syntaxe abstraite Une règle PHPStan ou Rector réussie doit d'abord sélectionner le nœud correct dans l'arborescence et "abonner" votre règle à ces nœuds. Une approche courante consiste à démarrer des nœuds var_dump
ou echo
dans votre nouvelle règle, mais je trouve cela fastidieux. 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]
你会看到类似于这个输出的东西。
你可以通过进入下一个或上一个节点在树中导航,或者跳到所选节点的子节点中。导航可以方便地使用a,s,d,w
Adresse GitHub : https://github.com/matthiasnoback/php-ast-inspector/🎜🎜Installez-le avec Composer. 🎜rrreee🎜 et cours. 🎜rrreee🎜Vous verrez quelque chose de similaire à cette sortie. 🎜🎜🎜🎜vous Vous pouvez parcourir l'arborescence en accédant au nœud suivant ou précédent, ou accéder aux enfants du nœud sélectionné. La navigation est facilitée à l'aide des touches
a,s,d,w
. 🎜🎜Actuellement, ce projet utilise la bibliothèque PHP-Parser pour l'analyse. Puisque PHPStan ajoute des nœuds virtuels supplémentaires à l'AST, il serait également utile de les afficher dans cet outil, mais cela nécessite un travail supplémentaire. Un autre ajout intéressant est d'afficher les types déduits par PHPStan pour les variables du code inspecté. Cela nécessite également un travail supplémentaire...🎜🎜Maintenant, essayez cette application. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!