这一节来讲讲 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