Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:ext:middleware

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:ext:middleware [2020/05/24 09:05]
y2sunlight
apricot:ext:middleware [2020/06/08 16:18] (現在)
tanaka [Apricot ミドルウェア]
行 22: 行 22:
  
 === ミドルウェア構造 === === ミドルウェア構造 ===
-<code> +{{:apricot:ext:ext-fig01.svg?nolink&800}}
-                   Middleware(A)       Middleware(B)        Action +
-                  ┌────────────┐      ┌────────────┐      ┌────────┐ +
-  [Request ] ---> | ---------> | ---> | ---------> | ---> | ───┐   |  +
-                  |     ↓      |      |     ↓      |      |    |   |  +
-  [Response] <--- | <--------  | <--- | <--------- | <--- | <──┘   |  +
-                  └────────────┘      └────────────┘      └────────┘ +
-</code>+
  
 上図のような処理のネスト構造を ''パイプライン'' (pipeline) と呼び、特に多層になったミドルウェア構造を ''ミドルウェアパイプライン'' と呼ぶ事にします。 上図のような処理のネスト構造を ''パイプライン'' (pipeline) と呼び、特に多層になったミドルウェア構造を ''ミドルウェアパイプライン'' と呼ぶ事にします。
行 225: 行 218:
  
 {{fa>folder-open-o}} ** /apricot/core/Foundation/Middleware ** {{fa>folder-open-o}} ** /apricot/core/Foundation/Middleware **
-<code php MiddlewareInvoker.php>+<code php MiddlewarePipeline.php>
 <?php <?php
 namespace Core\Foundation\Middleware; namespace Core\Foundation\Middleware;
行 331: 行 324:
   * MiddlewarePipeline クラスの executeAction() メソッドの戻り値が Responseインスタンスだった時は、commit()メソッドを実行してクライアントにレスポンスを返します。   * MiddlewarePipeline クラスの executeAction() メソッドの戻り値が Responseインスタンスだった時は、commit()メソッドを実行してクライアントにレスポンスを返します。
  
 +\\
  
-=== テスト ===+===== テスト実行 =====
  
 ミドルウェアの仕組みはこれで作成出来ました。まだ、具体的なミドルウエアは実装されていませんが、この時点で一度実行してみましょう。 ミドルウェアの仕組みはこれで作成出来ました。まだ、具体的なミドルウエアは実装されていませんが、この時点で一度実行してみましょう。
apricot/ext/middleware.1590278755.txt.gz · 最終更新: 2020/05/24 09:05 by y2sunlight