IntelliJ IDEA 2020.1ヘルプ

PHP

WindowsとLinux用のファイル | 設定 | 言語とフレームワーク | PHP
macOS用 IntelliJ IDEA | 環境設定 | 言語とフレームワーク | PHP
Ctrl+Alt+S
Settings icon

PHPプラグインが有効な場合にのみ、このノードとそのすべてのページを使用できます。プラグインはIntelliJ IDEAにバンドルされていませんが、プラグインを管理する説明に従ってJetBrainsプラグインリポジトリからインストールできます。

このページを使用して、プロジェクトでPHP開発とユニットテストのサポートを設定するには、使用可能なPHPインタープリターの1つを選択してください(ローカルPHPインタープリターの構成を参照)。

項目

ツールチップ/
ショートカット

説明

PHP 言語レベル

このリストでは、コーディング支援を受けるためのPHP機能スコープを指定します。各機能範囲は、この機能をサポートするPHPバージョンに関連付けられています。現在、PHP 5.3PHP 5.4PHP 5.5PHP 5.6PHP 7PHP 7.1PHP 7.2PHP 7.3、およびPHP 7.4レベルがサポートされています。

プロジェクトで使用されているPHPのバージョンと言語レベルの間に相関はありません。各インタープリターの言語バージョンは自動的に検出されますが、IntelliJ IDEAには異なる言語レベルに対応するコーディング支援を提供するよう依頼できます。ただし、指定された言語レベルでサポートされていないコード構成を使用しようとすると、IntelliJ IDEAはPHP <version>に切り替えます。 クイックフィックスを提案します。

CLI インタープリター

このリストで、現在のプロジェクトでデフォルトで使用するPHPインタープリターを選択してください。リストには、現在設定されているすべてのローカルおよびリモート PHPインタープリターが含まれています。詳細はローカルPHPインタープリターの構成リモート PHPインタープリターの構成を参照してください。

the Browse buttonShift+Enter

CLI インタープリターリストの横にあるこのボタンをクリックして、表示されるCLI インタープリターダイアログに新しいIntelliJ IDEA全体のPHPインストール構成を作成します。

詳細は、ローカルPHPインタープリターの構成およびリモート PHPインタープリターの構成を参照してください。

パス・マッピング

SFTP、Vagrant、Docker、またはWSLからアクセス可能なリモートインタープリターを構成すると、この読み取り専用フィールドには、対応するデプロイ構成、Vagrantfileまたは Dockerfileから取得されたパスマッピングが表示されます。これらのマッピングは読み取り専用です。

カスタムマッピングを提供するには、フィールドの横にある the Browse button をクリックして、表示されるプロジェクトパスマッピングの編集ダイアログで指定します。

  • カスタムマッピングを追加するには、the Add button をクリックして、プロジェクト内のパスとリモートランタイム環境の対応するパスをそれぞれローカル・パスフィールドとリモート・パスフィールドに指定します。手動でパスを入力するか、the Browse button をクリックして表示されるダイアログで関連ファイルまたはフォルダーを選択します。

  • カスタムマッピングを削除するには、リスト内でカスタムマッピングを選択し、the Remove buttonをクリックします。

インクルード・パス・タブ

このエリアには、設定されたインクルードパスのリストが表示されます。インクルード・パスは、require()include()など、引数としてファイルパスを使用する関数/メソッドの補完と参照解決に使用されるサードパーティのコードを保持するために使用されます。

  • Add および Remove を使用してパスを追加および削除します。

  • Move upMove down を使用して、リスト内の項目を並べ替えます。

  • the Sort Alphabetically button をクリックして、パスを昇順でアルファベット順にソートします。

PHPランタイムタブ

この領域には、利用可能なPHPスタブ(英語)が一覧表示されます。これらは、注釈付きの関数、メソッド、クラスのシグネチャー、定数定義などを含む、通常の構文的に正しいPHPファイルです。PHPスタブがIntelliJ IDEAの内部知識に追加され、すべての標準PHPライブラリ(英語)コンポーネントおよび一般的な拡張機能に対するコーディング支援が強化されています。

  • 対応するスタブを有効または無効にするには、各項目の横にあるチェックボックスを使用します。

  • 現在設定されているCLIインタープリターのロードされた拡張機能のセットに一致するスタブのセットをロードするには、インタープリターによる拡張機能の同期ボタンをクリックします。インタープリターの設定の詳細については、ローカルPHPインタープリターの構成およびリモート PHPインタープリターの構成を参照してください。

プロジェクトツールウィンドウでは、現在ロードされているスタブが外部ライブラリノードに表示されます。

詳細設定エリア

必要に応じて、IntelliJ IDEAで使用する一連のカスタムPHPスタブを読み込むことができます。デフォルト・スタブ・パスフィールドの横にある the Browse button をクリックし、表示されたダイアログでスタブフォルダーの場所を指定します。こうすることで、追加のスタブをロードしたり、バンドルされたスタブをオーバーライドすることができます。

PHPスタブはComposerパッケージ(英語)として使用できるため、サードパーティパッケージの依存関係として宣言およびインストールできます。この場合、プロジェクト内の vendor/jetbrains/phpstorm-stubs フォルダーに保存されます。

ComposerパッケージスタブとPhpStormのバンドルスタブとの競合を防ぐには、次のいずれかを実行します。

  • プロジェクトでComposerパッケージスタブを使用するには、デフォルト・スタブ・パスフィールドにそれらの場所へのパスを明示的に指定します。

  • IntelliJ IDEAにバンドルされているPHPスタブを使用するには、デフォルト・スタブ・パスフィールドがクリアされ、vendor/jetbrains/phpstorm-stubs フォルダーがプロジェクトから除外されていることを確認してください。

    • 設定/環境設定ダイアログ Ctrl+Alt+S言語とフレームワーク | PHP | Composerページでパッケージをライブラリとして追加するオプションが有効になっている場合、IntelliJ IDEAは自動的に vendor/jetbrains/phpstorm-stubs フォルダーを除外としてマークします。デフォルトでは、このオプションは有効になっています。

    • パッケージをライブラリとして追加するが無効になっている場合は、スタブパッケージフォルダーを手動で除外できます。これを行うには、プロジェクトビューで vendor/jetbrains/phpstorm-stubs フォルダーを右クリックし、コンテキストメニューからディレクトリをマーク | 除外を選択します。

分析タブ

このタブを使用して、特定のIntelliJ IDEA インスペクションの動作を設定します。

例外分析

このセクションを使用して、例外解析を構成します。これにより、未処理の例外冗長な catch 節欠落した @throws タグ、および冗長な @throws タグ インスペクションの動作が変更されます。

項目

ツールチップ/
ショートカット

説明

呼び出しツリー分析の深さ

このリストを使用して、目的の例外分析の深さレベルを設定します。デフォルトでは、1 が選択されています。その場合、IntelliJ IDEAは、例外をスローした親メソッドと、それを直接呼び出すメソッドについて未処理の例外を報告します。大きい値を選択すると、呼び出し階層をさらに深く掘り下げることができます。

0を選択した場合、例外分析は親メソッドに限定されます。

定数パラメーターを使用して呼び出しをスキップする

例外分析中にIntelliJ IDEAがインスタンス作成式で特定のメソッド呼び出しをスキップするようにするには、このチェックボックスを選択します。

  • パラメータとして文字列または定数のみを持つメソッド呼び出しはスキップされます。

    $date = new DateTime('2019-01-01');
  • 変数、整数、配列などをパラメータとして持つメソッド呼び出しはスキップされません。

    $date = new DateTime($myDate);

未チェックの例外

このリストを使用して、IntelliJ IDEAによってチェックされていないものとして処理される例外を指定します。このような例外は、例外解析中にスキップされます。

Add classAlt+Insert

このボタンをクリックすると、クラスが未チェックの例外リストに追加されます。表示されるクラスの選択ダイアログで、名前で検索タブまたはプロジェクトタブを使用して目的のクラスを見つけます。

Remove buttonDelete

選択したクラスを未チェックの例外リストから削除するには、このボタンをクリックします。

カスタム・フォーマット関数

このセクションを使用して、カスタム文字列フォーマット関数をフォーマット関数パラメーターの不一致 インスペクション分析スコープに含めます。このインスペクションは、フォーマット関数パラメーターと仕様変換エントリー間の不一致を報告し、デフォルトで標準のPHP printf(英語)およびsprintf(英語)関数の使用箇所を分析します。

項目

ツールチップ/
ショートカット

説明

Add buttonAlt+Insert

このボタンをクリックして、カスタムフォーマット機能リストに新しい機能レコードを追加します。表示されるカスタム・フォーマット関数の追加ダイアログで、クラスメソッドまたは関数の名前を入力し、フォーマットテンプレートが存在する引数のインデックスを指定します。

Remove buttonDelete

カスタムフォーマット機能リストから機能レコードを削除するには、このボタンをクリックします。

Edit buttonEnter

このボタンをクリックして、選択した機能レコードを編集します。

インクルード分析

このセクションを使用して、$_SERVER['DOCUMENT_ROOT'] 式が解決する必要があるカスタムフォルダーを定義し、解決できない include インスペクションの動作を変更します。

指定されたパスは、ファイルパスを引数として使用する関数/メソッド用にコード補完で使用されます(たとえば、require() または include())。パスが空白のままの場合、コード補完はプロジェクトルートからの相対パスを提案します。

一般的に、この設定は、Webサーバー設定で定義されたドキュメントルートフォルダーがIntelliJ IDEAプロジェクトのルートフォルダーと異なる場合に変更する必要があります。

項目

説明

$_SERVER['DOCUMENT_ROOT']

このフィールドに、$_SERVER['DOCUMENT_ROOT'] 式が解決するフォルダーを指定します。

デフォルト値は空白です:この場合、$_SERVER['DOCUMENT_ROOT'] 式はプロジェクトのルートフォルダーに解決されます。それを別のフォルダーに解決するには、プロジェクトルートからの相対パスを入力するか、Open from disk をクリックして開きたいダイアログボックスで目的のフォルダーを選択します。

最終更新日: 2020年6月2日

関連ページ:

プラグインを管理する

プラグインはIntelliJ IDEAのコア機能を拡張します。彼ら:バージョン管理システム、アプリケーションサーバー、およびその他のツールとの統合を提供する、さまざまな言語とフレームワークのコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどで生産性を...

ローカルPHPインタープリターの構成

以下は、PHPプラグインがインストールされ使用可能になっている場合にのみ有効です。ローカルPHPインタープリターは、リモート PHPインタープリターの反対側にコンピューターにインストールされるPHPエンジンであり、リモートホストまたはVagrantインスタンスにセットアップされた仮想環境にインストー...

結果の取得と問題の解決

インスペクションがあなたのコードに問題を検出した場合、すぐにエディターで修正を適用することができます。強調表示されたコード部分にキャレットを置き、を押します。インスペクションを手動で起動した場合は、解析が終了した後に自動的に開くインスペクション結果ツールウィンドウで結果を調べることができます。検出さ...

リモート PHPインタープリターの構成

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

プロジェクトツールウィンドウ

このツールウィンドウを使用すると、プロジェクトをさまざまな観点から見て、新しい項目(ディレクトリ、ファイル、クラスなど)の作成、エディターでのファイルの開き、目的のコードフラグメントへの移動などのタスクを実行できます。このツールウィンドウのほとんどの機能には、コンテンツペインのコンテキストメニューコ...

Composer依存関係マネージャー

以下は、PHPプラグインがインストールされ使用可能になっている場合にのみ有効です。IntelliJ IDEAはComposer依存マネージャーと統合されています。これにより、Packagistのパッケージをプロジェクトの依存関係として宣言し、IDEから管理することができます。IntelliJ IDE...