コードではなく、実行の流れです
Laravelの「Hello World」を表⽰するまでの処理を追ってみた2019.11.27Namizato
View Slide
# アジェンダ• ⾃⼰紹介• 実⾏の流れ• 公開フォルダ• オートロード• フレームワークの起動• アプリケーション実⾏• ルーティング
# ⾃⼰紹介• Namizato• 25• PHP JavaScript• Laravelもくもく会主催
http://laravel1public/index.phpHTTPカーネルルータミドルウェアコントローラー234567# 実⾏の流れ※ 今回「ミドルウェア」と「コントローラー」の説明は省きます。
# 公開フォルダLaravelのwebに公開する際、publicフォルダのみを公開します。そこにあるCSS・JS・画像など以外は全てindex.phpが実⾏されます。※ public/.htaccess内で制御してindex.phpを呼び出します。
public/index.phpオートロードファイルの読み込みフレームワークの起動アプリケーション実⾏HTTPレスポンスの送信終了処理# public/index.php
# オートロード通常のPHPでは別のPHPファイルを参照する際、require⽂を読み込む必要があるが、Laravelではファイルの上部でuse宣⾔すると⾃動でそれらのファイル類を⾃動で読み込み使⽤ができます。
# フレームワークの起動フレームワークのセットアップを⾏います。実⾏結果はLaravelの本体とも⾔えるApplicationインスタンスを返します。Appliction⾃⾝に⾊んなものを設定している。くらいの認識でもおk()
# アプリケーション実⾏.1次にHTTPカーネルと呼ばれる部品に処理が渡されます。このHTTPカーネルはアプリに必要な設定情報や部品群を読み込んで、⽣成されたApplicationインスタンス= サービスコンテナに登録します。
# アプリケーション実⾏.21.で登録している時に、読み込まれるものとして「環境設定」「エラーハンドラー」「ミドルウェア」「サービスプロバイダ」などが読み込まれます。
# ルーティング.1コレまで全ての⾏程を経てリクエストは専⽤の処理に移管されます。その時に参照されるのが「ルーティング情報」です。
# ルーティング.2ルーティング情報とは、リクエストのURLに対応してどのような処理が⾏われるかを表すものです。これらはroutes/web.phpで定義します。右の図で説明すると/helloというURLにアクセスした時にHello Worldと表⽰されます。
ご静聴ありがとうございました。