ホームページ >バックエンド開発 >PHPチュートリアル >ASTインスペクターとは何ですか? PHP AST ステップ デバッガーの使用方法は?
この記事では、AST Inspector とは何か、および PHP AST ステップ デバッガーの使用方法を紹介します。困っている友人に役立つことを願っています~
PHPStan または学長、あなたも 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]
次のような出力が表示されます。
次または前のノードに移動してツリー内を移動したり、選択したノードの子ノードにジャンプしたりできます。ナビゲーションは、a、s、d、w
キーを使用して簡単に実行できます。
現在、このプロジェクトは解析に PHP-Parser ライブラリを使用しています。 PHPStan は追加の仮想ノードを AST に追加するため、このツールで仮想ノードを表示すると便利ですが、追加の作業が必要になります。もう 1 つの興味深い追加機能は、検査対象のコード内の変数について PHPStan によって推定された型を表示することです。これには追加の作業も必要です...
それでは、このプログラムを試してみましょう。
以上がASTインスペクターとは何ですか? PHP AST ステップ デバッガーの使用方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。