PHP_CodeSniffer
PhpStorm は、PHP_CodeSniffer (英語) ツールとの統合を通じてコードスタイルチェックを提供します。PHP_CodeSniffer (英語) ツールは、選択したコーディング標準との整合性についてコードを検証します。事前定義されたコーディング標準(英語)の 1 つを指定するか、デフォルトの PHP_CodeSniffer の Standards ディレクトリの外側にあるルートディレクトリで、以前に定義した独自の (英語) コーディング標準(英語)を使用できます。さらに、カスタムコーディングスタイルをチームと共有できます。
コマンドラインの代わりに PhpStorm から PHP_CodeSniffer を使用するには、それを PhpStorm に登録し、PhpStorm コードインスペクションとして構成する必要があります。PhpStorm にインストールして有効にすると、ツールは開いているすべての PHP ファイルで使用できるようになり、起動するための追加の手順は必要ありません。オンザフライのコードチェックは、ファイルが更新されるたびにアクティブになるため、発見された問題を簡単に取り除くことができます。
PHP_CodeSniffer によってオンザフライで報告されたエラーと警告は、ポップアップメッセージとして表示されます。ツールをバッチモードで実行すると、インスペクションツールウィンドウにエラーと警告が表示されます。各メッセージには、PhpStorm 内部インスペクションと区別するために phpcs
プレフィックスが付いています。PhpStorm は PHP コードの美化と修正(英語)ツールとも統合されており、検出された課題の多くを修正できます。
前提条件
PHP_CodeSniffer を PhpStorm に統合する前に、次の前提条件が満たされていることを確認してください。
PHP_CodeSniffer バージョン 1.5.0 以降を使用しています。
PHP エンジンの実行可能ファイルを含むディレクトリをシステム
path
に追加する必要があります。これにより、コード品質ツールスクリプトがシステム全体の PHP エンジンへの呼び出しを実行できます。Docker Compose ベースのリモートインタープリターの場合は、必ず
run
モードを使用してください。設定 / 環境設定ダイアログ Ctrl+Alt+S で、 に移動します。
表示される PHP ページで、CLI インタープリターリストの横にある
をクリックします。
開いた CLI インタープリターダイアログで、選択したインタープリターのライフサイクルモードを常に新しいコンテナーを開始します( 'docker-compose run に設定します。
PHP_CodeSniffer をインストールして構成する
PHP_CodeSniffer スクリプトは、ローカルスクリプト、PHP インタープリターに関連付けられたスクリプト、またはプロジェクトの依存関係として宣言され、Composer を介してインストールされるスクリプトとして使用できます。これは推奨される推奨方法です。
Composer で PHP_CodeSniffer をインストールする
開始する前に、Composer がマシンにインストールされ、Composer 依存関係マネージャーに従って現在のプロジェクトで初期化されていることを確認してください。
PHP_CodeSniffer を Composer と共にインストールすると、PhpStorm は必要なスクリプトを自動的にダウンロードし、IDE に登録し、オプションで対応するコードインスペクションを有効にして構成します。
composer.json 内で、squizlabs / php_codesniffer 依存関係レコードを
require
またはrequire-dev
セクションに追加します。 Ctrl+Space を押して、パッケージ名とバージョンのコード補完を取得します。以下のいずれか 1 つを実行します:
エディターパネルの上部にあるインストールショートカットリンクをクリックします。
インストールされていない Composer パッケージインスペクションが有効になっている場合、PhpStorm は、現在インストールされていない宣言済みの依存関係をハイライトします。 Alt+Enter を押して、特定の依存関係をインストールするか、すべての依存関係を一度にインストールするかを選択します。
composer.json エディターガターのパッケージレコードの横にあるをクリックして、対応する設定 / 環境設定ページにジャンプし、PHP_CodeSniffer を手動で構成します。

PHP_CodeSniffer 設定をリセット
PHP_CodeSniffer が最初に構成された後、composer.json をさらに変更しても、インスペクション構成には影響しません。新しい変更を適用するには、PHP_CodeSniffer 構成をリセットします。
設定 / 環境設定ダイアログ Ctrl+Alt+S で、 にナビゲートします。
開いている品質ツールページで、PHP_CodeSniffer 領域を展開し、構成リストの横にある
をクリックします。
開いた PHP_CodeSniffer ダイアログで、PHP_CodeSniffer パスフィールドを空にします。
composer.json エディターパネルの上部にある更新をクリックして、プロジェクト Composer の依存関係を更新します。詳細については、依存関係の更新を参照してください。
PhpStorm は、PHP_CodeSniffer 構成を新たに実行するため、composer.json の変更を適用します。
PHP_CodeSniffer を手動で設定する
手動でダウンロードしたローカル PHP コード品質ツールスクリプトまたは PHP インタープリターに関連するスクリプトを使用することができます。多くのローカルおよびリモート PHP インタープリターが存在する可能性があります。設定 / 環境設定ダイアログの PHP ページで指定されたものはプロジェクトのデフォルトとみなされます。リモート PHP インタープリターの構成またはローカル PHP インタープリターを構成するで PHP インタープリターを設定する方法の詳細を参照してください。
使用する PHP_CodeSniffer スクリプトを選択する
設定 / 環境設定ダイアログ Ctrl+Alt+S で、 にナビゲートします。
開いた品質ツールページで、PHP_CodeSniffer 領域を展開します。構成リストから、PHP_CodeSniffer スクリプトを選択します。
特定のリモート PHP インタープリターに関連するスクリプトを使用するには、このインタープリターの名前を選択します。
ローカルスクリプトを使用するには、ローカルを選択します。この場合、プロジェクトで使用されている PHP インタープリター(ローカルまたはリモート)に関係なく、ローカルの PHP_CodeSniffer が実行されます。PhpStorm は PHP エンジンへのパスを含むスクリプト(Windows の場合は phpcs.bat、Linux および macOS の場合は phpcs )を実行するため、PHP_CodeSniffer のローカル構成は 1 つしか存在できないことに注意してください。
既定のプロジェクトインタープリター、つまり設定 / 環境設定ダイアログの PHP ページで選択したスクリプトを使用するには、デフォルトでプロジェクトインタープリターを選択します。
ローカルの PHP_CodeSniffer スクリプトを構成する
PHP_CodeSniffer(英語) スクリプトをダウンロードしてインストールします。
PHP_CodeSniffer のインストールを確認するには、インストールディレクトリに切り替えて、次のコマンドを実行します。
phpcs --versionツールが利用可能な場合は、次の形式のメッセージが表示されます。
PHP_CodeSniffer version <version> (stable) by Squiz. (http://www.squiz.net)独自のカスタムコーディング標準に対してコードをチェックするには、コードを作成し(英語)ます。ルールと指す ruleset.xml ファイルをコーディング標準のルートディレクトリに保存します。
ローカルの PHP_CodeSniffer スクリプトを PhpStorm に登録します。
設定 / 環境設定ダイアログ Ctrl+Alt+S で、 にナビゲートします。
開いている品質ツールページで、PHP_CodeSniffer 領域を展開し、構成リストの横にある
をクリックします。
開く PHP_CodeSniffer ダイアログで、PHP_CodeSniffer パスフィールドに phpcs.bat または phpcs PHP_CodeSniffer 実行可能ファイルの場所を指定します。パスを手動で入力するか、
をクリックして、表示されるダイアログで関連するフォルダーを選択します。
phpcs.bat または phpcs への指定されたパスが PhpStorm と PHP_CodeSniffer 間の相互作用を保証することを確認するには、つまり、ツールを PhpStorm から起動でき、PhpStorm はそこから問題レポートを受信し、検証ボタンをクリックします。この検証は、
phpcs --version
コマンドの実行と同等です。検証に成功すると、PhpStorm は検出された PHP_CodeSniffer バージョンに関する情報を表示します。
必要に応じて、ツールプロセスのタイムアウトフィールドで、PhpStorm が PHP_CodeSniffer からの結果を待機する時間を指定します。その後、CPU とメモリの過剰な使用を防ぐために、プロセスが終了します。
必要に応じて、PHP コードの美化と修正の設定領域で、phpcbf へのパスフィールドに PHP コードの美化と修正(英語)ツールへのパスを指定します。これにより、PHP_CodeSniffer によって検出されたエラーの多くを自動的に修正できます。PHP_CodeSniffer を Composer とともにインストールすると、PHP コードの美化と修正が検出され、自動的にセットアップされます。
PHP インタープリターに関連付けられた PHP_CodeSniffer スクリプトを構成する
設定 / 環境設定ダイアログ Ctrl+Alt+S で、 に移動します。
開いた品質ツールページで、PHP_CodeSniffer 領域を展開し、構成リストの横にある
をクリックします。PHP_CodeSniffer ダイアログが開き、左側のペインに構成済みのすべての PHP_CodeSniffer スクリプトのリストが表示されます。そのうちの 1 つはローカルタイプで、その他はスクリプトが関連付けられている PHP インタープリターにちなんで名付けられています。
ツールバーの
をクリックします。開いたリモートインタープリターによる PHP_CodeSniffer ダイアログで、関連するスクリプトを使用するリモート PHP インタープリターを選択します。リストに関連するインタープリターが含まれていない場合は、
をクリックし、リモート PHP インタープリターの構成の説明に従って CLI インタープリターダイアログでリモートインタープリターを構成します。
OK をクリックすると、PhpStorm によって PHP_CodeSniffer ダイアログに戻り、新しい PHP_CodeSniffer 構成がリストに追加され、右側のペインに選択されたリモート PHP インタープリター、それに関連付けられた PHP_CodeSniffer へのパス、および高度な PHP_CodeSniffer オプションが表示されます。
必要に応じて、ツールプロセスのタイムアウトフィールドで、PhpStorm が PHP_CodeSniffer からの結果を待機する時間を指定します。その後、CPU とメモリの過剰な使用を防ぐために、プロセスが終了します。
必要に応じて、PHP コードの美化と修正の設定領域で、phpcbf へのパスフィールドに PHP コードの美化と修正(英語)ツールへのパスを指定します。これにより、PHP_CodeSniffer によって検出されたエラーの多くを自動的に修正できます。PHP_CodeSniffer を Composer とともにインストールすると、PHP コードの美化と修正が検出され、自動的にセットアップされます。
PHP_CodeSniffer を PhpStorm インスペクションとして構成する
Composer を使用して PHP_CodeSniffer インスペクションを構成する
composer.json のスクリプト(英語)セクション内に、デフォルトおよびカスタムの PHP_CodeSniffer ルールセットに関する情報を含めることができます。プロジェクトの依存関係をインストールまたは更新すると、指定されたルールセットが検出され、PHP_CodeSniffer 検証インスペクションが自動的に有効になります。
composer.json の scripts
セクションにルールセットが指定されていない場合、PhpStorm はさらにプロジェクトルートをチェックして、phpcs.xml のデフォルト名でルールセットを見つけます。ファイルが存在する場合は、インスペクションのカスタムルールセットとして自動的に選択されます。
composer.json の
scripts
セクションで、phpcs
PHP_CodeSniffer 起動コマンドをリーフ要素の 1 つに追加します。使用するコーディング標準を示すために
--standard
引数を指定します。例:次のレコードを追加すると PSR2 にコーディング標準が設定されます。"scripts": { "phpcs": "phpcs --standard=PSR2" }次のレコードを追加すると、コーディング標準がカスタムに設定され、ルールセットのパスが <project root>/phpcs.xml に設定されます。
"scripts": { "phpcs": "phpcs --standard=phpcs.xml" }
さらに、composer.json の require-dev
セクション内にカスタムの非 PSR 標準依存関係を提供して、自動的に検出させることもできます。現在、以下の規格がサポートされています。
PHP_CodeSniffer インスペクションを手動で構成する
設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディターのインスペクションをクリックします。
開いているインスペクションページで、 ノードを展開し、PHP_CodeSniffer 検証の横にあるチェックボックスを選択します。
ページの右側のペインで、オプションエリアのコントロールを使用して PHP_CodeSniffer ツールを構成します。
重大度リストから、PHP_CodeSniffer インスペクションの重大度を選択します。選択された値は、検出された不一致が PhpStorm によってどの程度深刻に扱われ、インスペクションの結果に表示されるかを決定します。
スコープリストから、インスペクションアプリケーションを制限するスコープを選択します。
拡張子を持つファイルを確認するフィールドに、PHP_CodeSniffer によってチェックされるファイル拡張子のコンマ区切りリストを提供します。
エラーに加えて PHP_CodeSniffer が警告を報告するようにするには、警告を次のように表示する ... チェックボックスを選択し、リストから重大度を選択します。エラーのみを報告し、警告の報告を抑制するには、警告を次のように表示する ... チェックボックスをオフにします。
カスタムのサードパーティコーディング標準(コーダ(英語)や Joomla コーディング標準(英語)など)に依存している場合は、使用する前に PHP_CodeSniffer と統合する必要があります。これを行うには、インストールされている標準パスチェックボックスを選択し、
をクリックして、開いたダイアログでカスタム標準インストールディレクトリを選択します。
スニッフ名を表示チェックボックスを選択して、対応するスニフの名前をインスペクションサマリーに加えてエディターまたはインスペクション結果に表示します。
適用するコーディング基準を定めます。
事前定義されたコーディング標準(英語)の 1 つを使用するには、コーディング基準リストを選択し、コードをチェックするコーディングスタイルを指定します。このリストには、メインの php_codesniffer ディレクトリ構造内にインストールされているすべてのコーディング標準が含まれています。
以前に定義した独自のコーディング標準(英語)に対してコードをチェックするには、カスタムを選択します。
をクリックし、開いたカスタムコーディング標準ダイアログで、ルールセットへのパスフィールドに独自のコーディング標準の ruleset.xml ファイルへのパスを指定します。パスを手動で入力するか、
をクリックして、開いたダイアログで関連するフォルダーを選択します。
PHP_CodeSniffer によって検出された課題を修正
PhpStorm は PHP コードの美化と修正(英語)ツールと統合され、検出された課題の多くを修正できます。PHP_CodeSniffer を Composer とともにインストールすると、PHP コードの美化と修正が検出され、自動的にセットアップされます。それ以外の場合は、手動で設定する必要があります。
クイックフィックスを使用して課題を修正する
PhpStorm は課題を検出すると、PHP_CodeSniffer インスペクション設定に従って課題をハイライトします。
検出された課題にキャレットを置いて
をクリックするか、または Alt+Enter を押します。
ポップアップメニューから PHP コードの美化と修正: ファイル全体を修正するを選択してください。これにより、現在のファイルで検出されたすべての課題が修正されます。
バッチモードで課題を検出したり、コードのクリーンアップで自動的に修正したりすることもできます。
コードクリーンアップで自動的に課題を修正する
メインメニューからコード | コードのクリーンアップを選択します。
表示されるコードクリーンアップスコープの指定ダイアログで、インスペクションプロファイルを適用する範囲を選択します。
リストからインスペクションプロファイルを選択するか、
をクリックして、開いたコードのクリーンアップインスペクションダイアログで新しいプロファイルを構成します。
をクリックして、どの修正が適用されるかを確認し、PHP_CodeSniffer 検証インスペクションが有効になっていることを確認することもできます。
OK をクリックしてコードのクリーンアップを開始します。
PHP_CodeSniffer をバッチモードで実行する
メインメニューから
を選択します。リストからインスペクションプロファイルを選択するか、
をクリックして、開いたインスペクションダイアログで新しいプロファイルを構成します。
をクリックして、どの修正が適用されるかを確認し、PHP_CodeSniffer 検証インスペクションが有効になっていることを確認することもできます。
インスペクション結果ツールウィンドウのインスペクションの結果を表示します。PHP_CodeSniffer によって報告されたエラーと警告には、PhpStorm 内部インスペクションと区別するために、
phpcs
の接頭辞が付いています。
PHP_CodeSniffer 検証インスペクションからファイルを除外
PHP_CodeSniffer の応答を待つと、PHP_CodeSniffer ダイアログのツールプロセスのタイムアウトフィールドで指定された制限を超えると、PhpStorm はファイルを無視リストに追加することを提案します。
設定 / 環境設定ダイアログ Ctrl+Alt+S で、 にナビゲートします。
開いている品質ツールページで、PHP_CodeSniffer 領域を展開し、無視したファイルを表示しますリンクをクリックします。
ファイルを追加するには、
をクリックし、表示されるダイアログで目的のファイルを探します。
リストからファイルを削除し、PHP_CodeSniffer で再度処理するには、ファイルを選択して
をクリックします。
一覧からすべてのファイルを削除するには、
をクリックします。
関連ページ:

コードインスペクション
PhpStorm には、プロジェクト内の異常コードを検出して修正する一連のコードインスペクションがあります。IDE はさまざまな問題を見つけてハイライトし、デッドコードを見つけ、可能性のあるバグを見つけ、スペルの問題、コード構造全体を改善することができます。インスペクションは、すべてのプロジェクトフ...

インスペクション結果ツールウィンドウ
この方法でツールウィンドウにアクセスするには、を使用して既に開いている必要があります。閉じるボタンをクリックしてツールウィンドウを手動で無効にすると、ツールウィンドウはを介してのみ再び使用できます。インスペクションツールウィンドウには、インスペクションの結果が別々のタブに表示されます。各タブの左側の...

リモート PHP インタープリターの構成
リモート PHP インタープリターという用語は、リモートホストまたは仮想環境にインストールされた PHP エンジンを意味します。リモート PHP インタープリターという用語は、コンピューターにインストールされているローカル PHP インタープリターの反対語として使用されます。ローカル PHP インタ...

Composer 依存関係マネージャー
PhpStorm はComposer依存関係マネージャーと統合されます。これにより、Packagistまたはカスタムリポジトリからのパッケージをプロジェクトの依存関係として宣言し、IDE から管理できます。PhpStorm は、composer.jsonを操作するための包括的なコーディング支援と、一...

インスペクション
このページを使用して、インスペクションプロファイルのカスタマイズ、インスペクション重大度レベルの構成、インスペクションの無効化と有効化、およびさまざまなスコープ用のインスペクションの構成を行います。変更されたインスペクションは青でハイライトされます。プロファイルの管理 :プロファイル設定したいプロフ...

インスペクションの重大度の構成
インスペクションの重大度は、検出されたコードの問題がプロジェクトにどれほど深刻な影響を及ぼすかを示します。すべての重要度レベルには、独自のハイライトスタイルがあります。PhpStorm には、事前定義された重大度レベルのセットがあります。エラー:構文エラーをマークします。警告:バグを生成したり、機能...