My I/O

インプットしたことをアウトプットするブログ

Laravel5.5 ライフサイクルの図解

理解を深めるために図解してみました。

リクエストのライフサイクル 5.5 Laravel

f:id:michikoxxx:20180217225355p:plain

図について付けたし。

  • 私の解釈です!信じないで!!
  • リクエストはHTTPリクエストに限った図にしており、consoleの場合どこで処理が分かれているのかは見つけられてない(だからHTTPリクエストに限った図に..)
  • App\Http\Kernel は、 Illuminate\Foundation\Http\Kernel を継承しており、リクエストが処理される前に行う必要がある処理等の定義をしている。(以下ドキュメント丸写し)
    • エラー処理
    • ログ設定
    • アプリケーション動作環境の決定
    • HTTPセッションの読み書き
    • アプリケーションがメンテナンスモードであるかの決定
    • CSRFトークンの確認
  • コードでは、$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); のようにinterface名が引数になっているにも関わらずHTTPカーネルApp\Http\Kernel が使われるのは、Laravelインスタンス生成時に、このインスタンスが指定されたらこのクラスを使用すると指定しているから。(bootstrap\app.php)
  • Laravelは全てがすごい ファサードの機能もまだきちんと理解しがたく、interfaceをちゃんと使って開発したことのない身にとっては修行。けどちゃんと使えれば、開発が楽で安全で早くなるのは分かる...!