Laravel Blade 模板:自定义条件指令 2 个改进

介绍

如果经常使用 if 编写重复的代码、判断条件冗长,可以使用「自定义条件指令」。

如何自定义条件指令

在定义简单的自定义条件语句时,编写自定义指令有时复杂性大于必要性。在这种情况下,Blade 提供了 Blade::if 方法,它允许你使用闭包快速度定义条件指令。例如,定义一个校验当前应用环境的自定义指令,可以在AppServiceProvider 的 boot 方法中这样做:

use Illuminate\Support\Facades\Blade;

/**
 * 执行注册后引导服务
 *
 * @return void
 */
public function boot()
{
    Blade::if('env', function ($environment) {
        return app()->environment($environment);
    });
}

一旦定义了自定义条件指令,就可以在模板中轻松的使用:

@env('local')
    // 应用在本地环境中运行...
@elseenv('testing')
    // 应用在测试环境中运行...
@else
    // 应用没有在本地和测试环境中运行...
@endenv
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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