このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
apricot:ext:middleware [2020/05/24 09:05] y2sunlight |
apricot:ext:middleware [2020/06/08 16:18] (現在) tanaka [Apricot ミドルウェア] |
||
|---|---|---|---|
| 行 22: | 行 22: | ||
| === ミドルウェア構造 === | === ミドルウェア構造 === | ||
| - | < | + | {{: |
| - | | + | |
| - | ┌────────────┐ | + | |
| - | [Request ] ---> | ---------> | + | |
| - | | | + | |
| - | [Response] <--- | < | + | |
| - | └────────────┘ | + | |
| - | </ | + | |
| 上図のような処理のネスト構造を '' | 上図のような処理のネスト構造を '' | ||
| 行 225: | 行 218: | ||
| {{fa> | {{fa> | ||
| - | <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()メソッドを実行してクライアントにレスポンスを返します。 | ||
| + | \\ | ||
| - | === テスト === | + | ===== テスト実行 ===== |
| ミドルウェアの仕組みはこれで作成出来ました。まだ、具体的なミドルウエアは実装されていませんが、この時点で一度実行してみましょう。 | ミドルウェアの仕組みはこれで作成出来ました。まだ、具体的なミドルウエアは実装されていませんが、この時点で一度実行してみましょう。 | ||