# 12. Blade if/else/unless/or
這一節來講講 `blade` 這個 view engine 的一些關于判斷的指令。
## 1. if
首先在 action 加一個變量,找到 `app/Http/PagesController.php` 文件,修改其內容如下:
```
// app/Http/PagesController.php
<?php
...
class PagesController extends Controller
{
...
public function blade()
{
$gender = 'femffffale';
$text = 'Hello there!';
return view('blade.bladetest', compact('gender', 'text'));
}
}
```
然后我們在 view中來判斷這個 `$gender` 變量的內容。
找到 `resources/views/blade/bladetest.blade.php` 文件,修改其內容如下:
```
...
@section('body')
<div class="jumbotron">
<h1 class="display-3">
Your gender is
@if($gender == 'male')
male
@elseif($gender == 'female')
female
@else
unknown
@endif
</h1>
</div>
<div class="row marketing">
...
</div>
@endsection
```
頁面上會這么顯示:

結合上面的 `@if` 指令的判斷,因為 `$gender` 的值為 `femffffale`,即不是 `male`,也不是 `female`,所以最后顯示 `unknown`。
可以分別改成 `male` 或 `female` 來試試效果。
很容易理解。
## 2. unless
`unless` 其實 `!if`,`if` 的相反的意思。
我們來個例子說明一下。
```
...
@section('body')
<div class="jumbotron">
<h1 class="display-3">
...
</h1>
<p class="lead">
@unless(empty($text))
{{ $text }}
@endunless
@if(!empty($text))
{{ $text }}
@endif
</p>
</div>
<div class="row marketing">
...
</div>
@endsection
```
最后顯示:

## 3. isset 和 or
`isset` 是判斷變量是否存在。
```
<p>{{ isset($variableDoesNotExist) ? $variableDoesNotExist : 'The variable does not exist' }}</p>
```
效果如下:

它也可以用 `or` 來寫,結果一樣的。
```
<p>{{ $variableDoesNotExist or 'This really does not exist' }}</p>
```
完結。
下一篇:[Ruby 程序員學習 laravel 框架筆記 (13)-factories, faker and seeding](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-13-factories-faker-and)
- 0. 介紹
- 1. php 開發環境安裝
- 2. 跑 laravel 的 hello world
- 3. 第一個路由 UsersController
- 4. 在數據庫中創建一條數據
- 5. 簡單的用戶認證
- 6. 修改 User model
- 7. User model 的 getter 方法
- 8. view 的更多知識
- 9. 在 view 中共享變量
- 10. blade layout
- 11. 使用 @include 來整理 view
- 12. Blade if/else/unless/or
- 13. factories, faker and seeding
- 14. Blade foreach
- 15. 分頁
- 16. 用中間件來限制用戶必須登錄
- 17. Route group
- 18. CURD 實踐之改變用戶表結構
- 19. CURD 實踐之為新添加的屬性修改注冊功能
- 20. CURD 實踐之用 username 來代替 email 登錄
- 21. CURD 個人中心頁面
- VIM 的 laravel 插件
- VIM 中有效地查看 php 源碼