Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


slim:4:middleware

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
slim:4:middleware [2020/10/13 09:26]
y2sunlight [Routing Middleware]
slim:4:middleware [2020/10/13 16:23] (現在)
y2sunlight [メディアタイプの検出]
行 22: 行 22:
 ----- -----
  
-===== ルーティング ミドルウェア=====+===== ルーティング =====
  
 ==== 使用法 ==== ==== 使用法 ====
行 46: 行 46:
 \\ \\
  
-===== エラー処理 ミドルウェア =====+===== エラー処理 =====
  
 物事はうまくいかない。エラーを予言することはできませんが、予想することはできます。それぞれの Slim Framework アプリケーションには、キャッチされなかったすべてのPHP例外を受け取るエラーハンドラーがあります。このエラーハンドラーは、現在のHTTPリクエスト及びレスポンスオブジェクトも受信します。エラーハンドラは、HTTPクライアントに返される適切なResponseオブジェクトを準備して返す必要があります。 物事はうまくいかない。エラーを予言することはできませんが、予想することはできます。それぞれの Slim Framework アプリケーションには、キャッチされなかったすべてのPHP例外を受け取るエラーハンドラーがあります。このエラーハンドラーは、現在のHTTPリクエスト及びレスポンスオブジェクトも受信します。エラーハンドラは、HTTPクライアントに返される適切なResponseオブジェクトを準備して返す必要があります。
-==== Usage ====+==== 使用法 ====
  
 <code php> <code php>
行 296: 行 296:
 \\ \\
  
-===== メソッドオーバライド ミドルウエア =====+===== メソッドオーバライド =====
  
-メソッドオーバライド ミドルウエアを使用すると、''X-Http-Method-Override'' リクエストヘッダーまたはリクエストボディのパラメータ ''_METHOD'' を使用して、着信リクエストのメソッドをオーバーライドできます。このミドルウェアは、ルーティングミドルウェアが追加された後に配置する必要があります。+メソッドオーバライド ミドルウエアを使用すると、''X-Http-Method-Override'' リクエストヘッダーまたはリクエストボディのパラメータ ''_METHOD'' を使用して、着信リクエストのメソッドをオーバーライドできます。このミドルウェアは、ルーティングミドルウェアが追加された後に配置する必要があります。
 ==== 使用法 ==== ==== 使用法 ====
  
行 324: 行 324:
 \\ \\
  
-===== Output Buffering Middleware =====+===== 出力バッファリング =====
  
-The Output Buffering Middleware enables you to switch between two modes of output buffering: ''APPEND'' (default) and ''PREPEND'' mode. The ''APPEND'' mode will use the existing response body to append the contents. The ''PREPEND'' mode will create a new response body object and prepend the contents to the output from the existing response body. This middleware should be placed on the center of the middleware stack so it gets executed last. +出力バッファリング ミドルウェアを使用すると、出力バッファリングの2つのモード(''APPEND''(デフォルト)と ''PREPEND'' モード)を切り替えることができます。''APPEND'' モードでは、既存のレスポンスボディを使用してコンテンツを追加します。''PREPEND'' モードは、新しいレスポンスボディ オブジェクトを作成し、既存のレスポンスボディからの出力の前にコンテンツを追加します。このミドルウェアは、最後に実行されるようにミドルウェアスタックの中央に配置する必要があります。
- +
-出力バッファリングミドルウェアを使用すると、出力バッファリングの2つのモード(''APPEND''(デフォルト)と ''PREPEND'' モード)を切り替えることができます。''APPEND'' モードでは、既存の応答本文を使用してコンテンツを追加します。''PREPEND'' モードは、新しい応答本文オブジェクトを作成し、既存の応答本文からの出力の前にコンテンツを追加します。 このミドルウェアは、最後に実行されるようにミドルウェアスタックの中央に配置する必要があります。+
  
 ==== 使用法 ==== ==== 使用法 ====
行 360: 行 358:
 \\ \\
  
-===== Body Parsing Middleware ===== +===== ボディ解析 =====
- +
-It’s very common in web APIs to send data in JSON or XML format. Out of the box, PSR-7 implementations do not support these formats, you have to decode the Request object’s getBody() yourself. As this is a common requirement, Slim 4 provides ''BodyParsingMiddleware'' to handle this task.+
  
 Web APIでは、JSONまたはXML形式でデータを送信するのが非常に一般的です。箱から出しも、PSR-7の実装はこれらの形式をサポートしていません。リクエストオブジェクトの ''getBody()'' を自分でデコードする必要があります。これは一般的な要件であるため、Slim4はこのタスクを処理するための ''BodyParsingMiddleware'' を提供します。 Web APIでは、JSONまたはXML形式でデータを送信するのが非常に一般的です。箱から出しも、PSR-7の実装はこれらの形式をサポートしていません。リクエストオブジェクトの ''getBody()'' を自分でデコードする必要があります。これは一般的な要件であるため、Slim4はこのタスクを処理するための ''BodyParsingMiddleware'' を提供します。
  
-==== Usage ==== +==== 使用法 ====
- +
-It’s recommended to put the body parsing middleware before the call to addErrorMiddlware, so that the stack looks like this:+
  
-addErrorMiddlwareを呼び出す前に、本体解析ミドルウェアを配置して、スタックが次のようになるようにすることをお勧めします:+''addErrorMiddlware'' を呼び出す前に、ボディ解析ミドルウェアを配置して、スタックが次のようになるようにすることをお勧めします:
  
 <code php> <code php>
行 395: 行 389:
 \\ \\
  
-==== Posted JSON, form or XML data ====+==== ポストされたJSON、フォーム、XMLデータ ====
  
-No changes are required to the POST handler because the BodyParsingMiddleware detects that the Content-Type is set to a JSON media type and so places the decoded body into the Request’s parsed body property.+POSTハンドラーを変更する必要はありません。というのは、''BodyParsingMiddleware'' は ''Content-Type'' が ''JSON'' メディアタイプに設定されていることを検出し、デコードされたボディをリクエストの parsed bodyプロパティに配置するからです。
  
-''BodyParsingMiddleware'' は ''Content-Type'' が ''JSON'' メディアタイプに設定されていることを検出し、デコードされた本文をリクエストの解析された本文プロパティに配置するため、POSTハンドラーを変更する必要はありません。 +ブラウザからウェブサイトにポストされたデータの場合、$request の ''getParsedBody()'' メソッドを使用できます。
- +
-For data posted to the website from a browser, you can use the $request’s getParsedBody() method. +
- +
-ブラウザからウェブサイトに投稿されたデータの場合、$request の ''getParsedBody()'' メソッドを使用できます。 +
- +
-This will return an array of the posted data.+
  
 これにより、投稿されたデータの配列が返されます。 これにより、投稿されたデータの配列が返されます。
行 422: 行 410:
 \\ \\
  
-==== Media type detection ====+==== メディアタイプの検出 ====
  
-  * The middleware reads the Content-Type from the request header to detect the media type. +  * ミドルウェアは、リクエストヘッダーから ''Content-Type'' を読み取り、メディアタイプを検出します。
-  * Checks if this specific media type has a parser registered +
-  * If not, look for a media type with a structured syntax suffix (RFC 6839), e.g. application/+
- +
-  * ミドルウェアは、要求ヘッダーから ''Content-Type'' を読み取り、メディアタイプを検出します。+
   * この特定のメディアタイプにパーサーが登録されているかどうかを確認します。   * この特定のメディアタイプにパーサーが登録されているかどうかを確認します。
   * そうでない場合は、構造化された構文サフィックス(RFC 6839)が付いたメディアタイプを探します。例えば: ''application/*''   * そうでない場合は、構造化された構文サフィックス(RFC 6839)が付いたメディアタイプを探します。例えば: ''application/*''
行 434: 行 418:
 \\ \\
  
-==== Supported media types ====+==== サポートされているメディアタイプ ====
  
   * application/json   * application/json
行 443: 行 427:
 \\ \\
  
-===== Content Length Middleware =====+===== Content Length =====
  
-The Content Length Middleware will automatically append a ''Content-Length'' header to the response. This is to replace the ''addContentLengthHeader'' setting that was removed from Slim 3. This middleware should be placed on the center of the middleware stack so it gets executed last.+Content Length ミドルウェアは、''Content-Length'' ヘッダーをレスポンスに自動的に追加します。これは、Slim3 から削除された ''addContentLengthHeader'' の設定を置き換えるためのものです。このミドルウェアは、最後に実行されるように、ミドルウェアスタックの中央に配置する必要があります。
  
-Content Length ミドルウェアは、''Content-Length'' ヘッダーを応答に自動的に追加します。 これは、Slim 3から削除された ''addContentLengthHeader'' 設定を置き換えるためのものです。このミドルウェアは、最後に実行されるように、ミドルウェアスタックの中央に配置する必要があります。 +==== 使用法 ====
- +
-==== Usage ====+
  
 <code php> <code php>
slim/4/middleware.1602548771.txt.gz · 最終更新: 2020/10/13 09:26 by y2sunlight