如何通过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 split汉字
Jun 05 PHP
深入php多态的实现详解
Jun 09 PHP
php用header函数实现301跳转代码实例
Nov 25 PHP
php的一个简单加密解密代码
Jan 14 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
php实现的zip文件内容比较类
Sep 24 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
PHP静态文件生成类实例
Nov 29 PHP
php树型类实例
Dec 05 PHP
PHP引用返回用法示例
May 28 PHP
PHP convert_uudecode()函数讲解
Feb 14 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 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
弹出模态框modal的实现方法及实例
Sep 19 #PHP
PHP 进度条函数的简单实例
Sep 19 #PHP
You might like
用PHP实现WEB动态网页静态
2006/10/09 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
PHP插入排序实现代码
2013/04/04 PHP
php实现两个数组相加的方法
2015/02/17 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
基于jquery & json的省市区联动代码
2012/06/26 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
JSONP基础知识详解
2017/03/19 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
python爬虫常用的模块分析
2014/08/29 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
python如何处理程序无法打开
2020/06/16 Python
python实现简单的五子棋游戏
2020/09/01 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
后勤采购员岗位职责
2013/12/19 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
求职自我评价怎么写
2015/03/09 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA