如何通过View::first使用Laravel Blade的动态模板详解


Posted in PHP onSeptember 21, 2017

前言

本文主要给大家介绍了关于View::first使用Laravel Blade动态模板的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

如何通过View::first使用Laravel Blade的动态模板详解

当创建动态组件或者页面的时候,有时候我们想当自定义模版存在的时候展示它,否则展示默认的模版。

例如,当我们创建页面模块的时候,通常需要给“关于我们”和“联系我们”自定义模版(如展示照片或者联系表单),而“我们的服务”则可以使用默认模板。

我们可以通过一系列的 if 判断或者使用 view()->exists()  来判断自定义模板是否存在,然而,Laravel 5.5 为我们带来了一个更加优雅的方法来实现这个功能。

View::first 的使用

view()->first() 方法可以使我们把下面的代码

if (view()->exists('custom-template')) {
 return view('custom-template', $data);
}
 
return view('default-template', $data);

替换为更加简洁的版本:

return view()->first(
  ['custom-template', 'default-template'], $data
);

必须给这个方法的第一个参数传递一个数组,当第一个存在的时候,就将使用它。

当然,你可以传递任意个数的模版,你甚至还可以使用动态名称:

return view()->first([
  "pages/{$page->slug}",
  "pages/category-{$page->category->slug}",
  "pages/default-template"
], $data);

此外,你还可以通过 Facade 版本的这个功能:

\View::first($templates, $data)

这个动态选择模版的 Blade 方法是在 Laravel 5.5 中引入的,使得处理动态模版更加简洁,不需要额外的条件判断了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
一棵php的类树(支持无限分类)
Oct 09 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
Jun 13 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
PHP实现用户登录的案例代码
May 10 PHP
基于Laravel实现的用户动态模块开发
Sep 21 #PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 #PHP
PHP判断json格式是否正确的实现代码
Sep 20 #PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 #PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 #PHP
PHP使用Nginx实现反向代理
Sep 20 #PHP
弹出模态框modal的实现方法及实例
Sep 19 #PHP
You might like
How do I change MySQL timezone?
2008/03/26 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
浅谈json_encode用法
2015/03/05 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
Python selenium如何设置等待时间
2016/09/15 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
kafka-python批量发送数据的实例
2018/12/27 Python
Python子类继承父类构造函数详解
2019/02/19 Python
Python常见的pandas用法demo示例
2019/03/16 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
HTML5等待加载动画效果
2017/07/27 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
给海归自荐信的建议
2013/12/13 职场文书
普通话宣传标语
2014/06/26 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
对象析构函数__del__在Python中何时使用
2022/03/22 Python
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android