Laravel Blade 模板:自定义条件指令
介绍
如果经常使用 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