Maison >développement back-end >tutoriel php >Qu'est-ce qu'AST Inspector ? Comment utiliser le débogueur d'étape PHP AST ?

Qu'est-ce qu'AST Inspector ? Comment utiliser le débogueur d'étape PHP AST ?

藏色散人
藏色散人avant
2022-11-08 16:39:392923parcourir

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]

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

Screenshot of PHP AST inspector

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

C'est pourquoi j'ai créé un outil de ligne de commande simple qui vous permet d'inspecter les nœuds de n'importe quel fichier PHP donné.

Cet outil s'appelle AST Inspector et peut être trouvé sur GitHub.

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. 🎜🎜Capture d'écran de l'inspecteur PHP AST🎜🎜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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer