PhpStorm 2020.3 ヘルプ

PhpStorm コードエディターの HTTP クライアント

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

Example HTTP request

HTTP リクエストは .http および .rest ファイルに保存され、HTTP file iconアイコンでマークされています。

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 リクエストをスクラッチから物理ファイルに移動したり、物理ファイル間で移動したりできます。

  1. エディターで、移動する要求にキャレットを置き、次のいずれかを実行します。

    • メインメニューまたはコンテキストメニューから、リファクタリング | 移動を選択します。

    • Alt+Enter を押して、HTTP リクエストの移動 インテンションアクションを選択します。

    • F6 を押します。

  2. 開いた HTTP リクエストの移動ダイアログで、次の手順を実行します。

    • パスフィールドで、リストから既存の .http ファイルの 1 つを選択するか、the Browse buttonをクリックしてファイルを見つけます。

      ファイルへのフルパスを手動で入力することもできます。存在しないファイルの名前を指定すると、指定した名前の新しいファイルが自動的に作成されます。

    • リクエストリストで、移動するリクエストの横にあるチェックボックスをオンにします。

    Move HTTP requests

HTTP リクエストを作成する

PhpStorm は、エディターでの HTTP リクエスト形式を使用します。これは、HTTP リクエストに関する情報を作成、実行、格納する簡単な方法を提供します。次の一般的な構文を使用して、作成した HTTP リクエストファイルに直接入力できます。

Method Request-URI HTTP-Version Header-field: Header-value Request-Body

HTTP リクエストの作成を高速化するには、リクエストのエディターパネルの上部にあるリクエストを追加ショートカットリンクをクリックします。ポップアップメニューで、追加するリクエストのタイプを選択します。

Add an HTTP request

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

expand_post_template

HTTP クライアントの可能性の概要を取得するために、HTTP リクエストコレクションを調べることができます。HTTP リクエストコレクションは、合成されたリクエストのほんの一握りです。

HTTP リクエストコレクションからリクエストを開く

  1. リクエストのエディターパネルの上部にあるサンプルショートカットリンクをクリックします。

  2. ポップアップメニューで、開く HTTP リクエストコレクションを選択します。

    Open HTTP Requests Collection popup

cURL リクエストを変換する

cURL(英語) リクエストを使用している場合は、cURL リクエストとエディターでの HTTP リクエスト形式の間で変換できます。

cURL を HTTP リクエストに変換する

  • cURL リクエストを HTTP リクエストファイルに貼り付けます。PhpStorm はそれを HTTP リクエスト形式に変換し、後で参照できるように元の cURL リクエストをコメントアウトしたままにします。

    cURL request converted to HTTP request on paste
  • または、HTTP リクエストエディターパネルの上部にある変換ショートカットリンクをクリックして cURL を HTTP リクエストに変換するを選択するか、メインメニューからツール | HTTP クライアント | cURL を HTTP リクエストに変換するを選択します。

    cURL を HTTP リクエストに変換するダイアログで、変換する cURL リクエストを入力または貼り付けます。

    the Convert cURL to HTTP Request dialog

次の cURL リクエストの例を考えてみましょう。

curl 'http://httpbin.org/' -H 'Connection: keep-alive' -H 'Accept: text/html' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9,es;q=0.8'

PhpStorm はそれを以下に変換します:

# curl 'http://httpbin.org/' -H 'Connection: keep-alive' -H 'Accept: text/html' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9,es;q=0.8' GET http://httpbin.org/ Connection: keep-alive Accept: text/html Accept-Encoding: gzip, deflate Accept-Language: en-US,en;q=0.9,es;q=0.8 ###

コンバーターは、次の 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 に変換する

  1. cURL 形式に変換する HTTP リクエストにキャレットを置きます。

  2. Alt+Enter をクリックし、cURL に変換し、クリップボードにコピーを選択します。

    または、HTTP リクエストエディターパネルの上部にあるショートカットの変換リンクをクリックして、キャレット位置の HTTP リクエストを cURL に変換してコピーを選択することもできます。

これにより、HTTP リクエストに基づいて cURL リクエストが生成され、クリップボードにコピーされます。

OpenAPI 仕様からリクエストを作成する

OpenAPI 仕様ファイルを使用する場合、指定したエンドポイントへの HTTP リクエストを作成できます。

エンドポイントへの HTTP リクエストを作成する

  • OpenAPI 仕様ファイルで、エンドポイント定義の横にあるエディターのガターでthe Open in HTTP Client buttonをクリックします。

PhpStorm は新しい HTTP リクエストを作成し、generated-requests.http スクラッチファイルに保存します

Creating an HTTP request to an endpoint

エンドポイントとその使用箇所の名前を変更する

名前変更リファクタリングを使用して、定義されたエンドポイントの名前を変更し、HTTP リクエストでの使用を同時に変更します。

  1. 以下のいずれかを行います。

    • OpenAPI 仕様ファイルで、名前を変更するエンドポイントの定義にキャレットを置きます。

    • HTTP リクエストファイルで、名前を変更する URL パスセグメントにキャレットを置きます。

  2. メインメニューまたはコンテキストメニューからリファクタリング | 名前の変更を選択するか、 Shift+F6 を押します。

  3. 開いた名前の変更ダイアログで、新しいエンドポイントの名前を指定します。

  4. プレビューと変更の適用

PhpStorm は、エンドポイントとその使用箇所の名前を変更します。

Renaming an HTTP endpoint

Guzzle リクエストを作成して実行する

プロジェクトで Guzzle PHPHTTP クライアント(英語)を使用する場合は、実際のコードを実行せずにエディターで HTTP リクエストをテストできます。

PhpStorm がコードから URL と HTTP メソッドを推測できる場合、HTTP リクエストアイコンthe HTTP request iconがエディターガターに表示されます。

  1. the HTTP request icon をクリックして HTTP スクラッチファイルを作成し、エディターで開きます。作成されたファイルには、Guzzle リクエストを含む元の PHP ファイルの名前があり、基本認証フィールド、リクエスト本文、ヘッダー、クエリパラメーターなどの事前入力されたリクエストの詳細が含まれています。

  2. HTTP スクラッチファイルで、実行するリクエストにキャレットを配置し、 Alt+Enter を押して <リクエスト名> を実行を選択します。または、エディターガターでThe Run buttonをクリックします。詳細については、HTTP リクエストを実行するを参照してください。

Creating an HTTP request from Guzzle call

応答ハンドラースクリプトを使用する

応答ハンドラースクリプトを使用すると、受信した 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 コーディング支援を有効にする

  1. スクリプトファイルをエディターで開きます。

  2. コンテキストメニューで 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) メソッドを呼び出すことにより、条件をアサートできます。例:

GET https://httpbin.org/status/200 > {% client.test("Request executed successfully", function() { client.assert(response.status === 200, "Response status is not 200"); }); %}

HTTP リクエストを実行する

  1. 独自の Web サービスをテストする場合は、Web サービスがデプロイされ、実行されていることを確認してください。

  2. 以下のいずれかを行います。

    • エディターで、実行するリクエストの横にあるガターのThe Run buttonをクリックします。リストから <リクエスト名> を実行を選択します。

    • エディターで、リクエストのコンテキストメニューから <リクエスト名> を実行を選択します。

    • 実行したい要求にキャレットを置き、 Alt+Enter を押して <リクエスト名> を実行インテンションアクションを選択します。

    • .http ファイルに複数の HTTP リクエストが定義されている場合、それらすべてを順番に実行できます。これを行うには、リクエストのエディターパネルの上部にある対応するファイル内の全リクエストを実行ショートカットリンクを使用します。

    環境が定義されている場合は、で実行 ... を選択し、ポップアップメニューで環境を選択します。選択した環境は、後でリクエストを実行またはデバッグするときにデフォルト環境として使用されます。

HTTP リクエストをデバッグする

アプリケーション全体をデバッグする以外に、個別の HTTP リクエスト(英語)をデバッグできます。これは、いくつかのステップでアクセスされる特定のページに実際に関心がある場合に役立ちますが、このため、たとえば「come」する必要があるため、このページをデバッグの開始ページとして指定することはできません。特定のデータを含むこのページへ。

  1. PHP HTTP リクエストをデバッグするで説明されている準備手順を必ず実行してください。

  2. リクエストにキャレットを配置し、 Alt+Enter を押すか、エディターのガターでThe Run buttonをクリックします。ポップアップメニューから PHP デバッグ <ホスト> を選択します。

    PHP Debug intention action with in an HTTP request file

    環境が定義されている場合は、PHP デバッグ ... を選択し、ポップアップメニューで環境を選択します。選択した環境は、後でリクエストを実行またはデバッグするときにデフォルト環境として使用されます。

    PHP Debug intention action with environment in an HTTP request file

    PhpStorm は自動的に XDEBUG_SESSION Cookie をリクエストに追加して実行し、指定されたブレークポイントで停止します。

リクエストが実行されると、PhpStorm はそのリクエスト専用の一時的な HTTP リクエストの実行 / デバッグ構成を自動的に作成します。必要に応じて永続的な実行 / デバッグ構成として保存してくださいを使用できます。

ブラウザーでリクエストを開く

設定 / 環境設定ダイアログ Ctrl+Alt+S ウェブブラウザーページで指定されたブラウザーで HTTP リクエストを開くことができます。

  • キャレットを要求の 1 行目に置き、メインメニューから表示 | ソースに移動を選択するか、 Ctrl+B または F4 を押します。

  • Ctrl+Click 要求行:

    open_request_in_browser

HTTP リクエストの実行 / デバッグ構成を操作する

HTTP リクエストタイプの実行構成を使用して、HTTP リクエストを実行できます。実行構成を使用すると、任意の時点で要求を実行し、それをサービスツールウィンドウまたは複合構成に追加できます。

詳細は実行 / デバッグ構成の操作を参照ください。

HTTP リクエストの実行 / デバッグ構成を作成する

  1. 以下のいずれかを行います。

    • エディターで、実行 / デバッグ構成を作成したい要求のコンテキストメニューから <設定名> を作成しますを選択します。

      Create a run configuration from the editor
    • または、メインメニューから実行 | 構成の編集を選択してからAdd iconをクリックし、リストから HTTP リクエストを選択します。

      Add new HTTP Request Run Configuration
  2. 実行 / デバッグ構成パラメーターを指定します。

    • 環境リストで、リクエストで使用される環境変数のセットを定義する環境を選択します。

    • ファイルフィールドに、HTTP リクエストファイルへのパスを指定します。パスを手動で入力し、入力時にパス補完 Ctrl+Space を使用するか、Open from diskをクリックして、表示されるダイアログで必要なフォルダーを選択できます。

    • リクエストファイルに複数のリクエストが含まれている場合は、リクエストリストで実行するリクエストのインデックスを選択します。

エディターから HTTP リクエスト実行すると、PhpStorm はリクエストパラメーターを使用して一時的な実行 / デバッグ構成を自動的に作成します。一時的な実行 / デバッグ構成は、永続的な実行 / デバッグ構成と同じように機能します。実行 / デバッグ構成ダイアログを使用して設定を変更し、オプションで永続的に保存できます。

一時的な HTTP リクエストの実行 / デバッグ構成を保存する

  • 実行 / デバッグ構成セレクターで、<設定名> を保存を選択します。

  • 実行 / デバッグ構成ダイアログで、構成を選択し、the Save buttonをクリックします。

実行 / デバッグ構成を使用して要求を実行する

  • 実行 / デバッグ構成セレクターで、目的の実行構成を選択します。次に、メインツールバーのRun buttonをクリックするか、 Shift+F10 を押します。

  • Alt+Shift+F10 を押し、リストから希望の実行構成を選択して、 Enter を押します。

    Run configuration popup

Web サービスからの応答を表示する

HTTP リクエストを実行すると、PhpStorm は自動的に .idea/httpRequests/ ディレクトリの別のファイルにレスポンスを保存します。最近保存された 50 件の応答を表示し、要求履歴を使用して対応するファイルに移動することができます。リクエストがスクラッチファイルから実行された場合、そのレスポンス出力へのリンクも元のリクエストに追加されます。

HTTP Response

応答によって受信された Cookie は、.idea/httpRequests/ ディレクトリの専用 http-client.cookies ファイルに自動的に保存されます。保存できるクッキーの数は 300 に制限されています。有効期限に達していない限り、Cookie の名前は、Cookie に指定されたドメインパスに一致する URL への後続の各要求に自動的に含まれます。

the http-cookies file

受け取った応答を見る

  1. 応答が受信されるとすぐに自動的に開く実行ツールウィンドウに切り替えます。

  2. デフォルトでは、サーバー応答は content-type(英語) フィールドを介して要求ヘッダーで指定された形式で表示されます。応答を別の形式に変換するには、HTML として表示 The View as HTML buttonXML として表示 The View as XML button、または JSON として表示 The View as JSON button をクリックします。

  3. 応答ハンドラースクリプトの一部として実行されたテストの結果は、実行ツールウィンドウのテストタブに表示されます。

    The Tests tab of the Run tool window

エディターで応答ファイルを開く

  • 開きたい応答へのリンクにキャレットを置き、メインメニューから表示 | ソースに移動を選択するか、 Ctrl+B または F4 を押します。

  • Ctrl+Click 応答行:

    Open the response tooltip

スクラッチファイル内のレスポンスを比較する

スクラッチファイルから要求が実行されると、応答出力ファイルへのリンクが元の要求に追加されます。

  • 以下のいずれかを行います。

    • 応答ファイルへのリンクにキャレットを置きます。 Alt+Enter を押して <レスポンス名> と比較インテンションアクションを選択します。

    • ガターのCompare responsesをクリックして、リストから <レスポンス名> と比較を選択します。

      compare_responses_menu

リクエスト履歴内のレスポンスを比較する

物理ファイルからリクエストが実行されると、レスポンス出力へのリンクがリクエスト履歴に追加されます。

  1. 応答ファイルへのリンクにキャレットを置きます。メインメニューから表示 | ソースに移動を選択するか、 Ctrl+B または F4 を押してこのファイルを新しいエディタータブで開きます。

  2. メインメニューから表示 | 比較を選択するか、または Ctrl+D を押します。PhpStorm は、httpRequests フォルダーから応答ファイルを開くように促します。

  3. 現在のファイルと比較する応答ファイルを選択し、開くをクリックします。

2 つの応答ファイルが差分ビューアーで開かれ、それらの内容を比較できます。

compare_responses_diff

リクエスト履歴を表示する

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

リクエスト履歴を開く

  • リクエストのエディターパネルの上部にあるログを開くショートカットリンクをクリックします。

  • メインメニューからツール | HTTP クライアント | HTTP リクエストの履歴を表示を選択します。

Requests history

プロキシ設定の構成

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、外観 & 振る舞いシステム設定を選択してから、HTTP プロキシを選択します。

  2. 開いたプロキシダイアログで、手動プロキシ構成を選択して以下を指定します。

    • ホスト名およびポート番号フィールドにプロキシのホスト名とポート番号を入力します。

    • 認証を有効にするには、プロキシ認証チェックボックスを選択して、対応するフィールドにユーザー名とパスワードを入力します。

関連ページ:

エディターの基本

PhpStorm エディターは、コードの作成、読み取り、変更に使用する IDE の主要部分です。エディターは次の領域で構成されています。スクロールバーは現在のファイルのエラーと警告を表示します。パンくずリストは、現在のファイルのコード内を移動できます。ガターには、行番号と注釈が表示されます。タブには...

色とフォントの構成

開発者として、エディターのソースコード、検索結果、デバッガー情報、コンソールの入出力など、多くのテキストリソースを使用します。色とフォントスタイルは、このテキストのフォーマットに使用され、一目で理解しやすくなります。PhpStorm は、好適な色とフォントを定義するカラースキームを使用しています。配...

OpenAPI

OpenAPI 仕様(OAS)は、REST API の記述形式です。Swaggerは、REST API を記述、文書化、使用するための、この仕様に基づくツールのセットです。詳細については、Swagger のドキュメントを参照してください。PhpStorm は、YAML および JSON ファイルの

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完 :基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PhpStorm はコンテキス...

コード参照情報

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

ソースファイルの構造

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