如何通过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函数utf8转gb2312编码
Dec 21 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
基于PHP+Ajax实现表单验证的详解
Jun 25 PHP
php实现查看邮件是否已被阅读的方法
Dec 03 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
PHP中类与对象功能、用法实例解读
Mar 27 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
用PHP和ACCESS写聊天室(十)
2006/10/09 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
javascript中xml操作实现代码
2011/11/21 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
Python 连连看连接算法
2008/11/22 Python
Python对List中的元素排序的方法
2018/04/01 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
python 实现二维列表转置
2019/12/02 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
python中with用法讲解
2020/02/07 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
Pycharm调试程序技巧小结
2020/08/08 Python
Python自动创建Excel并获取内容
2020/09/16 Python
英国在线花园中心:You Garden
2018/06/03 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
酒店管理毕业生自我鉴定
2014/03/02 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
后备干部推荐材料
2014/12/24 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
mysql如何能有效防止删库跑路
2021/10/05 MySQL
Elasticsearch 数据类型及管理
2022/04/19 Python