Laravel学習#2 (テンプレートエンジンBlade)

テンプレートファイル作成

resource/views内にファイルを作成する。
resource/views/hello/index.php

Route::get('hello', function (){
    return view('hello.index');
});

view('<フォルダ名>.<ファイル名>')で指定する。
view()が返却しているのは、指定したテンプレのレンダリング結果をコンテンツとして設定している
Responseインスタンスであることに注意。

コントローラ内で

    public function index()
    {
        $data = [
            'msg' => 'This is a message from HelloController'
        ];
        return view('hello.index', $data);
    }

のように第二引数で連想配列を渡すと、view内で$msgとして値を使える。

getパラメータの受け取り方

    public function index($name = 'No Name', Request $request)
    {
        $data = [
            'msg' => 'This is a message from HelloController',
            'name' => $name,
            'id' => $request->hogehoge
        ];
        return view('hello.index', $data);
    }

$request->hogehogeでhogehogeパラメータを受け取れる。

viewのファイル名をindex.blade.phpとすることで
Bladeの便利な機能(@ifとか{{$value}}などを使うことが出来る!)

Bladeにはレイアウトの定義と継承という概念がある。
セクションとは、レイアウト内に用意される区画である。
セクションを使うには@sectionと@yieldを使う。