PhpStorm コードエディターの HTTP クライアント
Web サービスをテストする場合、PhpStorm コードエディターで直接 HTTP リクエストを作成、編集、実行できます。

HTTP リクエストは .http および .rest ファイルに保存され、 アイコンでマークされています。
HTTP ファイルのサポートには、以下の機能が含まれます。
リクエスト、そのパーツ、応答ハンドラースクリプト用のコードの折りたたみ
リクエストヘッダーフィールドとドキュメントタグのインラインドキュメント
HTTP リクエストの構造を見る
要求メッセージ本体内の言語インジェクション
開始する前に、必要に応じて、設定 / 環境設定ダイアログ Ctrl+Alt+S の HTTP プロキシページでプロキシ設定を構成します。
HTTP クライアントの概要については、このビデオを参照してください。
HTTP リクエストファイルを作成する
スクラッチファイルまたは HTTP リクエストタイプの物理ファイルから HTTP リクエストを処理できます。各ファイルには複数の要求を含めることができ、必要な数のファイルを作成できます。
スクラッチファイルは、開発中に HTTP リクエストをテストするために使用できます。スクラッチファイルはプロジェクト内に保存されないため、PhpStorm はスクラッチファイルを変更し、リクエストに関する追加情報を追加できます。HTTP リクエストがスクラッチファイルから実行されると、応答出力ファイルへのリンクが要求の下と要求履歴ファイルの上部に追加されます。
HTTP リクエストスクラッチファイルを作成する
Ctrl+Alt+Shift+Insert を押して HTTP リクエストを選択します。
物理ファイルは、HTTP リクエストの文書化、テスト、検証に使用できます。物理ファイルはプロジェクト内に保存され、PhpStorm はそれらを変更しません。物理ファイルから HTTP リクエストが実行された場合、このファイルは変更されません。実行されたリクエストに関する情報とレスポンス出力ファイルへのリンクは、リクエスト履歴ファイルの先頭に追加されます。
物理 HTTP リクエストファイルを作成する
ファイルメニューで新規をポイントし、HTTP リクエストをクリックします。
HTTP リクエストを移動する
F6 リファクタリング移動を使用して、HTTP リクエストをスクラッチから物理ファイルに移動したり、物理ファイル間で移動したりできます。
エディターで、移動する要求にキャレットを置き、次のいずれかを実行します。
メインメニューまたはコンテキストメニューから、
を選択します。Alt+Enter を押して、HTTP リクエストの移動 インテンションアクションを選択します。
F6 を押します。
開いた HTTP リクエストの移動ダイアログで、次の手順を実行します。
パスフィールドで、リストから既存の .http ファイルの 1 つを選択するか、
をクリックしてファイルを見つけます。
ファイルへのフルパスを手動で入力することもできます。存在しないファイルの名前を指定すると、指定した名前の新しいファイルが自動的に作成されます。
要求リストで、移動するリクエストの横にあるチェックボックスをオンにします。
HTTP リクエストを作成する
PhpStorm は、エディターでの HTTP リクエスト形式を使用します。これは、HTTP リクエストに関する情報を作成、実行、格納する簡単な方法を提供します。次の一般的な構文を使用して、作成した HTTP リクエストファイルに直接入力できます。
HTTP リクエストの作成を高速化するには、リクエストのエディターパネルの上部にあるリクエストを追加ショートカットリンクをクリックします。ポップアップメニューで、追加するリクエストのタイプを選択します。

または、ライブテンプレートを使用します。エディターで、Ctrl+J を押して、使用可能なテンプレートのリストを表示できます。例: gtr は単純な GET リクエストに展開されます。mptr は multipart/form-data
POST リクエストに展開されます。

HTTP クライアントの可能性の概要を取得するために、HTTP リクエストコレクションを調べることができます。HTTP リクエストコレクションは、合成されたリクエストのほんの一握りです。
HTTP リクエストコレクションからリクエストを開く
リクエストのエディターパネルの上部にあるサンプルショートカットリンクをクリックします。
ポップアップメニューで、開く HTTP リクエストコレクションを選択します。
cURL リクエストを変換する
cURL(英語) リクエストを使用している場合は、cURL リクエストとエディターでの HTTP リクエスト形式の間で変換できます。
cURL を HTTP リクエストに変換する
cURL リクエストを HTTP リクエストファイルに貼り付けます。PhpStorm はそれを HTTP リクエスト形式に変換し、後で参照できるように元の cURL リクエストをコメントアウトしたままにします。
または、HTTP リクエストエディターパネルの上部にある変換ショートカットリンクをクリックして cURL を HTTP リクエストに変換するを選択するか、メインメニューから を選択します。
cURL を HTTP リクエストに変換するダイアログで、変換する cURL リクエストを入力または貼り付けます。
次の cURL リクエストの例を考えてみましょう。
PhpStorm はそれを以下に変換します:
コンバーターは、次の cURL オプションをサポートします。
オプション | 説明 |
---|---|
-X, --request(英語) | 使用するリクエストメソッド。 |
-H, --header(英語) | リクエストに含めるリクエストヘッダー。 |
-u, --user(英語) --basic(英語) --digest(英語) | 要求とともに提供されるユーザーの資格情報、および使用する許可方法。 |
-d, --data, --data-ascii(英語) --data-binary(英語) --data-raw(英語) --data-urlencode(英語) | POST リクエストで送信されるデータ。 |
-F, --form(英語) | POST 要求で送信されるマルチパート / フォームデータメッセージ。 |
--url(英語) | 取得する URL(主に設定ファイルで URL を指定するときに使用されます)。 |
-i, --include(英語) | HTTP レスポンスヘッダーを出力に含めるかどうかを定義します。 |
-v, --verbose(英語) | 詳細動作モードを有効にします。 |
-L, --location(英語) | 要求されたページが別の場所に移動された場合に要求を再送信することを可能にします。 |
HTTP リクエストを cURL に変換する
cURL 形式に変換する HTTP リクエストにキャレットを置きます。
Alt+Enter をクリックし、cURL に変換し、クリップボードにコピーを選択します。
または、HTTP リクエストエディターパネルの上部にある変換ショートカットリンクをクリックして、キャレット位置の HTTP リクエストを cURL に変換してコピーを選択することもできます。
これにより、HTTP リクエストに基づいて cURL リクエストが生成され、クリップボードにコピーされます。
OpenAPI 仕様からリクエストを作成する
OpenAPI 仕様ファイルを使用する場合、指定したエンドポイントへの HTTP リクエストを作成できます。
エンドポイントへの HTTP リクエストを作成する
OpenAPI 仕様ファイルで、エンドポイント定義の横にあるエディターのガターで
をクリックします。
PhpStorm は新しい HTTP リクエストを作成し、generated-requests.http スクラッチファイルに保存します。

エンドポイントとその使用箇所の名前を変更する
名前変更リファクタリングを使用して、定義されたエンドポイントの名前を変更し、HTTP リクエストでの使用を同時に変更します。
以下のいずれかを行います。
OpenAPI 仕様ファイルで、名前を変更するエンドポイントの定義にキャレットを置きます。
HTTP リクエストファイルで、名前を変更する URL パスセグメントにキャレットを置きます。
メインメニューまたはコンテキストメニューから
を選択するか、Shift+F6 を押します。開いた名前変更ダイアログで、新しいエンドポイントの名前を指定します。
プレビューと変更の適用
PhpStorm は、エンドポイントとその使用箇所の名前を変更します。

Guzzle リクエストを作成して実行する
プロジェクトで Guzzle PHPHTTP クライアント(英語)を使用する場合は、実際のコードを実行せずにエディターで HTTP リクエストをテストできます。
PhpStorm がコードから URL と HTTP メソッドを推測できる場合、HTTP リクエストアイコン がエディターガターに表示されます。
をクリックして HTTP スクラッチファイルを作成し、エディターで開きます。作成されたファイルには、Guzzle リクエストを含む元の PHP ファイルの名前があり、基本認証フィールド、リクエスト本文、ヘッダー、クエリパラメーターなどの事前入力されたリクエストの詳細が含まれています。
HTTP スクラッチファイルで、実行するリクエストにキャレットを配置し、Alt+Enter を押して <リクエスト名> を実行を選択します。または、エディターガターで
をクリックします。詳細については、HTTP リクエストを実行するを参照してください。

応答ハンドラースクリプトを使用する
応答ハンドラースクリプトを使用すると、受信した HTTP レスポンスにプログラムで対応できます。これらのスクリプトを使用すると、受信したデータを自動的に処理し、指定した条件に対して検証することができます。応答ハンドラースクリプトは、HTTP リクエストファイル内の要求の一部として提供され、応答を受信するとすぐに実行されます。応答処理の例を表示するには、auth-requests または test-responses リクエストコレクションを開きます。
応答ハンドラースクリプトは、その場で、または外部ファイルを参照して、要求に挿入できます。
スクリプトをリクエストに挿入する
その場でスクリプトを挿入するには、その前に
>
を付けて{% %}
で囲みます。GET host/api/test > {% // Response Handler Script ... %}外部ファイルからスクリプトを挿入するには、
>
を先頭に追加します。GET host/api/test > scripts/my-script.js
レスポンスハンドラーのスクリプトは JavaScript ECMAScript 5.1(英語) で書かれています。コーディング支援とドキュメントはバンドルされた HTTP Response Handler
ライブラリによって処理されます。インプレーススクリプトの場合、この機能は自動的に有効になります。外部スクリプトの場合は、手動で有効にする必要があります。
応答ハンドラースクリプトの JavaScript コーディング支援を有効にする
スクリプトファイルをエディターで開きます。
コンテキストメニューで JavaScript ライブラリの使用 | HTTP レスポンスハンドラーを選択します。
HTTP Response Handler
ライブラリは、レスポンスハンドラースクリプトを作成するために使用される 2 つのオブジェクトを公開します。
client
オブジェクトはセッションメタデータを格納します。これはスクリプト内で変更できます。client
状態は PhpStorm を閉じるまで保持されます。variable_name
としてclient.global
に保存されたすべての変数は、{{variable_name}}
として後続の HTTP リクエストにアクセス可能です。response
は受信したレスポンスに関する情報を保持しています: そのコンテンツタイプ、ステータス、レスポンスボディなど。
エディターで HTTP レスポンスハンドラーライブラリを開くには、ライブラリオブジェクトにキャレットを置き、Ctrl+B を押します。
応答ハンドラースクリプトにはテストを含めることができます。これにより、HTTP クライアントをテストフレームワークとして使用できます。テストを作成するには、client.test(testName, function)
メソッドを呼び出します。テスト内で、client.assert(condition, message)
メソッドを呼び出すことにより、条件をアサートできます。例:
HTTP リクエストを実行する
独自の Web サービスをテストする場合は、Web サービスがデプロイされ、実行されていることを確認してください。
以下のいずれかを行います。
エディターで、実行するリクエストの横にあるガターの
をクリックします。リストから <リクエスト名> を実行を選択します。
エディターで、リクエストのコンテキストメニューから <リクエスト名> を実行を選択します。
実行したい要求にキャレットを置き、Alt+Enter を押して <リクエスト名> を実行インテンションアクションを選択します。
.http ファイルに複数の HTTP リクエストが定義されている場合、それらすべてを順番に実行できます。これを行うには、リクエストのエディターパネルの上部にある対応するファイル内の全リクエストを実行ショートカットリンクを使用します。
環境が定義されている場合は、で実行... を選択し、ポップアップメニューで環境を選択します。選択した環境は、後でリクエストを実行またはデバッグするときにデフォルト環境として使用されます。
HTTP リクエストをデバッグする
アプリケーション全体をデバッグする以外に、個別の HTTP リクエスト(英語)をデバッグできます。これは、いくつかのステップでアクセスされる特定のページに実際に関心がある場合に役立ちますが、このため、たとえば「come」する必要があるため、このページをデバッグの開始ページとして指定することはできません。特定のデータを含むこのページへ。
PHP HTTP リクエストをデバッグするで説明されている準備手順を必ず実行してください。
デバッグする予定のエンドポイントのソースファイル内のブレークポイントを設定します。
リクエストにキャレットを配置し、Alt+Enter を押すか、エディターのガターで
をクリックします。ポップアップメニューから PHP デバッグ <ホスト> を選択します。
環境が定義されている場合は、PHP デバッグ... を選択し、ポップアップメニューで環境を選択します。選択した環境は、後でリクエストを実行またはデバッグするときにデフォルト環境として使用されます。
PhpStorm は自動的に
XDEBUG_SESSION
Cookie をリクエストに追加して実行し、指定されたブレークポイントで停止します。
リクエストが実行されると、PhpStorm はそのリクエスト専用の一時的な HTTP リクエストの実行 / デバッグ構成を自動的に作成します。必要に応じて永続的な実行 / デバッグ構成として保存してくださいを使用できます。
ブラウザーでリクエストを開く
設定 / 環境設定ダイアログ Ctrl+Alt+S のウェブブラウザーページで指定されたブラウザーで HTTP リクエストを開くことができます。
キャレットを要求の 1 行目に置き、メインメニューから
を選択するか、Ctrl+B または F4 を押します。Ctrl+Click 要求行:
HTTP リクエストの実行 / デバッグ構成を操作する
HTTP リクエストタイプの実行構成を使用して、HTTP リクエストを実行できます。実行構成を使用すると、任意の時点で要求を実行し、それをサービスツールウィンドウまたは複合構成に追加できます。
詳細は実行 / デバッグ構成の操作を参照ください。
HTTP リクエストの実行 / デバッグ構成を作成する
以下のいずれかを行います。
エディターで、実行 / デバッグ構成を作成したい要求のコンテキストメニューから <設定名> を作成しますを選択します。
または、メインメニューから
を選択してからをクリックし、リストから HTTP リクエストを選択します。
実行 / デバッグ構成パラメーターを指定します。
環境リストで、リクエストで使用される環境変数のセットを定義する環境を選択します。
ファイルフィールドに、HTTP リクエストファイルへのパスを指定します。パスを手動で入力し、入力時にパス補完 Ctrl+Space を使用するか、
をクリックして、表示されるダイアログで必要なフォルダーを選択できます。
リクエストファイルに複数のリクエストが含まれている場合は、リクエストリストで実行するリクエストのインデックスを選択します。
エディターから HTTP リクエストを実行すると、PhpStorm はリクエストパラメーターを使用して一時的な実行 / デバッグ構成を自動的に作成します。一時的な実行 / デバッグ構成は、永続的な実行 / デバッグ構成と同じように機能します。実行 / デバッグ構成ダイアログを使用して設定を変更し、オプションで永続的に保存できます。
一時的な HTTP リクエストの実行 / デバッグ構成を保存する
実行 / デバッグ構成セレクターで、 を選択します。
実行 / デバッグ構成ダイアログで、構成を選択し、
をクリックします。
実行 / デバッグ構成を使用して要求を実行する
実行 / デバッグ構成セレクターで、目的の実行構成を選択します。次に、メインツールバーの
をクリックするか、Shift+F10 を押します。
Alt+Shift+F10 を押し、リストから希望の実行構成を選択して、Enter を押します。
Web サービスからの応答を表示する
HTTP リクエストを実行すると、PhpStorm は自動的に .idea/httpRequests/ ディレクトリの別のファイルにレスポンスを保存します。最近保存された 50 件の応答を表示し、要求履歴を使用して対応するファイルに移動することができます。リクエストがスクラッチファイルから実行された場合、そのレスポンス出力へのリンクも元のリクエストに追加されます。


受け取った応答を見る
応答が受信されるとすぐに自動的に開く実行ツールウィンドウに切り替えます。
デフォルトでは、サーバー応答は content-type(英語) フィールドを介して要求ヘッダーで指定された形式で表示されます。応答を別の形式に変換するには、HTML として表示
、XML として表示
、または JSON として表示
をクリックします。
応答ハンドラースクリプトの一部として実行されたテストの結果は、実行ツールウィンドウのテストタブに表示されます。
エディターで応答ファイルを開く
開きたい応答へのリンクにキャレットを置き、メインメニューから
を選択するか、Ctrl+B または F4 を押します。Ctrl+Click 応答行:
スクラッチファイル内のレスポンスを比較する
スクラッチファイルから要求が実行されると、応答出力ファイルへのリンクが元の要求に追加されます。
以下のいずれかを行います。
応答ファイルへのリンクにキャレットを置きます。 Alt+Enter を押して <レスポンス名> と比較インテンションアクションを選択します。
ガターの
をクリックして、リストから <レスポンス名> と比較を選択します。
リクエスト履歴内のレスポンスを比較する
物理ファイルからリクエストが実行されると、レスポンス出力へのリンクがリクエスト履歴に追加されます。
応答ファイルへのリンクにキャレットを置きます。メインメニューから
を選択するか、Ctrl+B または F4 を押してこのファイルを新しいエディタータブで開きます。メインメニューからhttpRequests フォルダーから応答ファイルを開くように促します。
を選択するか、または Ctrl+D を押します。PhpStorm は、現在のファイルと比較する応答ファイルを選択し、開くをクリックします。
2 つの応答ファイルが差分ビューアーで開かれ、それらの内容を比較できます。

リクエスト履歴を表示する
PhpStorm は、最近実行された 50 件のリクエストを http-requests-log.http ファイルに自動的に保存します。このファイルは、.idea/httpRequests/ ディレクトリのプロジェクトレベルに保存されています。リクエスト履歴を使用すると、特定のレスポンスにすばやく移動したり、リクエストを再発行したりできます。要求が要求履歴から再度発行されると、その実行情報と応答出力へのリンクが要求履歴ファイルの先頭に追加されます。
リクエスト履歴を開く
リクエストのエディターパネルの上部にあるログを開くショートカットリンクをクリックします。
メインメニューから
を選択します。

プロキシ設定の構成
設定 / 環境設定ダイアログ Ctrl+Alt+S で、外観 & 振る舞いのシステム設定を選択してから、HTTP プロキシを選択します。
開いたプロキシダイアログで、手動プロキシ構成を選択して以下を指定します。
ホスト名およびポート番号フィールドにプロキシのホスト名とポート番号を入力します。
認証を有効にするには、プロキシ認証チェックボックスを選択して、対応するフィールドにユーザー名とパスワードを入力します。
関連ページ:

エディターの基本 | PhpStorm
PhpStorm エディターは、コードの作成、読み取り、変更に使用する IDE の主要部分です。エディターは次の領域で構成されています。スクロールバーは現在のファイルのエラーと警告を表示します。パンくずリストは、現在のファイルのコード内を移動できます。ガターには、行番号とアノテーションが表示されます。タブには、現在開いているファイルの名前が表示されます。ナビゲーション:さまざまなショートカットを使用して、エディターウィンドウとさまざまなツールウィンドウを切り替えたり、エディターサイズを変更した...

色とフォントの構成 | PhpStorm
開発者として、エディターのソースコード、検索結果、デバッガー情報、コンソールの入出力など、多くのテキストリソースを使用します。色とフォントスタイルは、このテキストのフォーマットに使用され、一目で理解しやすくなります。PhpStorm は、好適な色とフォントを定義するカラースキームを使用しています。事前定義された配色を使用するか、あなたの好みに合わせてカスタマイズすることができます。スキームを共有することも可能です。このビデオを見て、PhpStorm のカスタマイズの可能性に関する概要を簡単に確認...

OpenAPI | PhpStorm
OpenAPI 仕様(OAS)は、REST API の記述形式です。Swagger は、REST API を記述、文書化、使用するための、この仕様に基づくツールのセットです。詳細については、Swagger のドキュメントを参照してください。PhpStorm は、YAML および JSON ファイルの OpenAPI 定義のコーディング支援、およびサーバースタブ、クライアントライブラリ(SDK)、および OpenAPI 仕様に基づくドキュメントを生成するための Swagger Codegen との統合を...

コード補完 | PhpStorm
このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PhpStorm はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します(提案にはライブテンプレートも含まれます)。基本コード補完がフィールド、パラメーター、または変数宣言の一部に適用されている場合、PhpS...

コードリファレンス情報 | PhpStorm
定義:PhpStorm では、タグ、クラス、フィールド、メソッド、関数などのシンボルがプロジェクトでどのように定義されているかを確認することができます。この目的のために、IDE にはクイック定義ポップアップがあります。シンボルの定義を表示するには、エディターでシンボルを選択し、を押します(またはをクリックします)。または、キーを押したまま、任意のシンボルにカーソルを合わせます。PhpStorm は、シンボルをリンクとして表示し、その定義をツールチップに表示します。このリンクをクリックして、...

ソースファイルの構造 | PhpStorm
デフォルトでは、PhpStorm は現在のファイルのすべてのクラス、メソッド、その他の要素を表示します。表示したい要素を切り替えるには、構造ツールウィンドウのツールバーの対応するボタンをクリックします。例: をクリックして、クラスのプロパティを表示します。をクリックして定数を表示してください。継承メンバーを表示するには、をクリックしてください。インクルードファイルを表示するには、をクリックしてください。をクリックして、ラムダを表示します。プロジェクトツールウィンドウにクラスメンバーを表示するプロジ...