/

如何在Laravel中使用Blade模板

如何在Laravel中使用Blade模板

本教程是《Laravel手冊》的一部分。從https://flaviocopes.com/access/ 下載手冊。

Laravel的視圖文件以 .blade.php 為結尾,並且是 Blade 模板。

Blade 是一個服務端模板語言。

在其基本形式下,它就是 HTML。正如你所看到的,上面我使用的這些模板只包含 HTML。

但你可以在Blade模板中做很多有趣的事情:插入數據、添加條件語句、使用循環、根據用戶是否已驗證顯示不同內容,或根據環境變量(例如生產或開發環境)顯示不同信息,等等。

以下是Blade的入門教程(更多資訊,我強烈推薦參考 官方Blade指南)。

在路由定義中,你可以將數據傳遞給Blade模板:

1
2
3
Route::get('/test', function () {
return view('test', ['name' => 'Flavio']);
});

然後在模板中使用它:

1
<h1>{{ $name }}</h1>

{{ }} 語法允許你將任何數據添加到模板中,它會自動進行HTML轉義處理。

在其中,你還可以運行任何自己喜歡的PHP function,Blade會顯示該函數的返回值。

使用 {{-- --}} 注釋:

1
{{-- <h1>test</h1> --}}

條件語句可使用 @if@else@endif 達到:

1
2
3
4
5
@if ($name === 'Flavio') 
<h1>Yo {{ $name }}</h1>
@else
<h1>Good morning {{ $name }}</h1>
@endif

還可以使用 @elseif@unless 做更複雜的條件結構。

我們還有 @switch ,可以根据變量的結果來顯示不同的內容。

然後我們有一些常用操作的快捷方式,方便使用:

  • @isset :如果參數已定義,顯示一個區塊
  • @empty :如果數組不包含任何元素,顯示一個區塊
  • @auth :如果用戶已驗證,顯示一個區塊
  • @guest :如果用戶未驗證,顯示一個區塊
  • @production :如果環境是生產環境,顯示一個區塊

使用 @php 指令,我們可以編寫任何PHP代碼:

1
2
3
@php
$cats = array("Fluffy", "Mittens", "Whiskers", "Felix");
@endphp

我們可以使用不同的指令實現循環:

  • @for
  • @foreach
  • @while

像這樣:

1
2
3
4
5
6
7
8
9
@for ($i = 0; $i < 10; $i++)
Count: {{ $i }}
@endfor

<ul>
@foreach ($cats as $cat)
<li>{{ $cat }}</li>
@endforeach
</ul>

就像大多數編程語言一樣,我們有一些指令來控制循環,如 @continue@break

在循環中,一個非常方便的 $loop 變量始終可用,用於提供有關循環的信息,例如是否第一次迭代、是否最後一次迭代、是否為偶數迭代、已完成多少迭代以及剩餘多少迭代。

這只是一個基本介紹。

tags: [“Laravel”, “Blade”, “PHP”]