Ruby 程序员学习 Laravel 框架笔记 (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

可以分别改成malefemale来试试效果。

很容易理解。

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

本作品采用《CC 协议》,转载必须注明作者和本文链接
咱们的学习圣地是: https://www.qiuzhi99.com,这里有不限于 Nodejs、React、TypeScript、GraphQL 相关的精品课程。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!