本教程是《Laravel手冊》的一部分。從https://flaviocopes.com/access/ 下載手冊。
Laravel的視圖文件以 .blade.php
為結尾,並且是 Blade 模板。
Blade 是一個服務端模板語言。
在其基本形式下,它就是 HTML。正如你所看到的,上面我使用的這些模板只包含 HTML。
但你可以在Blade模板中做很多有趣的事情:插入數據、添加條件語句、使用循環、根據用戶是否已驗證顯示不同內容,或根據環境變量(例如生產或開發環境)顯示不同信息,等等。
以下是Blade的入門教程(更多資訊,我強烈推薦參考 官方Blade指南)。
在路由定義中,你可以將數據傳遞給Blade模板:
Route::get('/test', function () {
return view('test', ['name' => 'Flavio']);
});
然後在模板中使用它:
<h1>{{ $name }}</h1>
{{ }}
語法允許你將任何數據添加到模板中,它會自動進行HTML轉義處理。
在其中,你還可以運行任何自己喜歡的PHP function,Blade會顯示該函數的返回值。
使用 {{-- --}}
注釋:
{{-- <h1>test</h1> --}}
條件語句可使用 @if
、@else
、@endif
達到:
@if ($name === 'Flavio')
<h1>Yo {{ $name }}</h1>
@else
<h1>Good morning {{ $name }}</h1>
@endif
還可以使用 @elseif
和 @unless
做更複雜的條件結構。
我們還有 @switch
,可以根据變量的結果來顯示不同的內容。
然後我們有一些常用操作的快捷方式,方便使用:
@isset
:如果參數已定義,顯示一個區塊@empty
:如果數組不包含任何元素,顯示一個區塊@auth
:如果用戶已驗證,顯示一個區塊@guest
:如果用戶未驗證,顯示一個區塊@production
:如果環境是生產環境,顯示一個區塊
使用 @php
指令,我們可以編寫任何PHP代碼:
@php
$cats = array("Fluffy", "Mittens", "Whiskers", "Felix");
@endphp
我們可以使用不同的指令實現循環:
@for
@foreach
@while
像這樣:
@for ($i = 0; $i < 10; $i++)
Count: {{ $i }}
@endfor
<ul>
@foreach ($cats as $cat)
<li>{{ $cat }}</li>
@endforeach
</ul>
就像大多數編程語言一樣,我們有一些指令來控制循環,如 @continue
和 @break
。
在循環中,一個非常方便的 $loop
變量始終可用,用於提供有關循環的信息,例如是否第一次迭代、是否最後一次迭代、是否為偶數迭代、已完成多少迭代以及剩餘多少迭代。
這只是一個基本介紹。