DAY11-blade介紹
使用Blade模板的兩個主要優點為模板繼承與區塊。Blade 視圖檔案使用 .blade.php 做為副檔名,且通常儲存於 resources/views 資料夾。
很多檔案某些部分一樣,像是header、footer、或側邊欄都可以只透過一個檔案來做修改,而不用每一隻都放進去一樣的程式碼,後續維護也不方便,也有可能有些地方忘了修改,或是一次修改就要改很多地方,這樣非常浪費時間阿
<!-- 檔案儲存於 resources/views/layouts/master.blade.php -->
<html>
    <head>
        <title>應用程式名稱 - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            這是主要的側邊欄。
        @show
        <div class="container">
            @yield('content')
        </div>
    </body>
</html>
上面可以看到@section和@yield這兩個是什麼東西哩,以前都沒看過阿!
@section 定義一個內容區塊
@yield 用來顯示給定區塊的內容
<!-- 儲存於 resources/views/child.blade.php -->
@extends('layouts.master')
@section('title', '頁面標題')
@section('sidebar')
    @parent
    <p>這邊會附加在主要的側邊欄。</p>
@endsection
@section('content')
    <p>這是我的主要內容。</p>
@endsection
下面簡單介紹在blade中要怎麼去使用控制結構,跟php原生的相似,但有一點差別,這部分多寫就會記得了。
@if (count($records) === 1)
    我有一條記錄!
@elseif (count($records) > 1)
    我有多條記錄!
@else
@endif
@for ($i = 0; $i < 10; $i++)
    目前的值為 {{ $i }}
@endfor
@foreach ($users as $user)
    <p>此使用者為 {{ $user->id }}</p>
@endforeach                      
@forelse ($users as $user)
    <li>{{ $user->name }}</li>
@empty
    <p>沒有使用者</p>
@endforelse
@while (true)
    <p>我永遠都在跑迴圈。</p>
@endwhile