Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Laravelの「Hello World」を 表示するまでの処理を追ってみた

namizatork
November 26, 2019

Laravelの「Hello World」を 表示するまでの処理を追ってみた

コードではなく、実行の流れです

namizatork

November 26, 2019
Tweet

More Decks by namizatork

Other Decks in Programming

Transcript

  1. Laravelの「Hello World」を
    表⽰するまでの処理を追ってみた
    2019.11.27
    Namizato

    View Slide

  2. # アジェンダ
    • ⾃⼰紹介
    • 実⾏の流れ
    • 公開フォルダ
    • オートロード
    • フレームワークの起動
    • アプリケーション実⾏
    • ルーティング

    View Slide

  3. # ⾃⼰紹介
    • Namizato
    • 25
    • PHP JavaScript
    • Laravelもくもく会主催

    View Slide

  4. http://laravel
    1
    public/index.php
    HTTPカーネル
    ルータ
    ミドルウェア
    コントローラー
    2
    3
    4
    5
    6
    7
    # 実⾏の流れ
    ※ 今回「ミドルウェア」と「コント
    ローラー」の説明は省きます。

    View Slide

  5. # 公開フォルダ
    Laravelのwebに公開する
    際、publicフォルダのみ
    を公開します。
    そこにあるCSS・JS・画
    像など以外は全て
    index.phpが実⾏されます。
    ※ public/.htaccess内で制
    御してindex.phpを呼び出し
    ます。

    View Slide

  6. public/index.php
    オートロードファイルの読み込み
    フレームワークの起動
    アプリケーション実⾏
    HTTPレスポンスの送信
    終了処理
    # public/index.php

    View Slide

  7. # オートロード
    通常のPHPでは別のPHP
    ファイルを参照する際、
    require⽂を読み込む必要
    があるが、Laravelでは
    ファイルの上部でuse宣
    ⾔すると⾃動でそれらの
    ファイル類を⾃動で読み
    込み使⽤ができます。

    View Slide

  8. # フレームワークの起動
    フレームワークのセット
    アップを⾏います。
    実⾏結果はLaravelの本体
    とも⾔えるApplicationイ
    ンスタンスを返します。
    Appliction⾃⾝に⾊んな
    ものを設定している。く
    らいの認識でもおk()

    View Slide

  9. # アプリケーション実⾏.1
    次にHTTPカーネルと呼
    ばれる部品に処理が渡さ
    れます。
    このHTTPカーネルはア
    プリに必要な設定情報や
    部品群を読み込んで、⽣
    成されたApplicationイン
    スタンス= サービスコン
    テナに登録します。

    View Slide

  10. # アプリケーション実⾏.2
    1.で登録している時に、
    読み込まれるものとして
    「環境設定」「エラーハ
    ンドラー」「ミドルウェ
    ア」「サービスプロバイ
    ダ」などが読み込まれま
    す。

    View Slide

  11. # ルーティング.1
    コレまで全ての⾏程を経
    てリクエストは専⽤の処
    理に移管されます。その
    時に参照されるのが
    「ルーティング情報」で
    す。

    View Slide

  12. # ルーティング.2
    ルーティング情報とは、リ
    クエストのURLに対応して
    どのような処理が⾏われる
    かを表すものです。
    これらはroutes/web.php
    で定義します。
    右の図で説明すると/hello
    というURLにアクセスした
    時にHello Worldと表⽰さ
    れます。

    View Slide

  13. ご静聴ありがとうございました。

    View Slide