ミドルウェアについて理解する


middleware

 悩み事

Laravelの"ミドルウェア"について理解したい

 解決方法

非常に簡単なものです。

それぞれのミドルウェアクラスは、いくつかのLaravelミドルウェアを用いて構成され、
handle()メソッドを利用して実装されています。

+--------------------------+
| ユーザー ミドルウェアクラス  |
+--------------------------+
| Session ミドルウェア       |
+--------------------------+
| Cookie ミドルウェア        |
+--------------------------+
| Laravel application      |
+--------------------------+

handle()メソッドを使ってリクエストを受信するように実装します
handle()メソッドでは下記の4つを実装する必要があります

  1. 必要に応じてリクエストを変更します
  2. ミドルウェアを利用して、レスポンスを受信します
  3. 必要に応じてレスポンスを変更します
  4. レスポンスを返却します。

ロシアのマトリョーシカをイメージしてください
Laravelアプリケーションは最も小さい人形であり、
様々なミドルウェアに包まれて実装されています

Laravelアプリケーションでは、handle()メソッドが呼ばれると、
アプリケーション起動後にすぐにリクエストが処理されて、
レスポンスを返却します

 アドバイス

ミドルウェアもシャットダウンできる事を忘れないでください

TerminableInterfaceを利用して実装している場合、
アプリケーションがシャットダウンする時にterminate()が呼ばれます


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa