Blade::if () 指令( Laravel 5.5 新功能早知道)
25

file
Laravel 5.5 的 Blade 模板引擎中添加新的指令来简化视图中自定义的 if 语句。

要在你的 AppServiceProvider::boot() 方法中,像这样写:

use Illuminate\Support\Facades\Blade;

Blade::if('adminer', function () {
    return auth()->check() && auth()->user()->isAdmin();
});

在上面这段代码中,新的 Blade::if() 可以方便地从模板中抽出重复的检查,让它们更易读:

@adminer
    <a href="{{ route('super.secret') }}">Secret Page</a>
@else
    Welcome Guest. <a href="{{ route('login') }}">Login</a>
@endadminer

在以前的 Laravel 版本中,要达成这样的效果,必须再写一些代码。 例如,在 Laravel 5.4 中,David Hemphill 使用这种技术推出了一些非常酷的指令:

file

但现在在 Laravel 5.5 中更简化了:

Blade::if('prod', function () {
    return app()->environment('production');
});

还可以传递参数使检查更具动态性:

Blade::if('env', function ($env) {
    return app()->environment($env);
});

那么在你的模板中会看起来像这样:

@env('production')
  <script src="some-prod.js"></script>
@endenv

如果你想了解更多有关 Blade::if() 的使用,可以查看 视频 教程!Laravel 5.5 快出来了,你也可以一口气查看 Laracasts 上所有跟新功能相关的视频。

参考链接:https://laravel-news.com/bladeif

今天的 Laravel 新闻播报就到这里 :tada: 谢谢捧场~ 点击订阅 Laravel 资讯 或者使用这个 插件 可以让你第一时间查看新内容呢!

Stay Hungry, Stay Foolish.

本帖由 Summer 于 1年前 加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 7

我怎么感觉更麻烦了。

1年前
Kurisu

5.5应该快要发布了吧,7月已经过了一半了030

1年前

期待5.5啊! 这样公司项目可以切过去了

1年前

5.5不出,我就不写代码!

1年前
Summer

你又开始创作了

1年前

文件夹都建好了,就等5.5了

1年前

@hhiew 从另外一个角度去看,我们在blade页面中书写的代码将更加具有语义化的感觉。但是要求自己在命名时注意如何才能见名知意。

1年前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!