如何通过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世纪万年历
Dec 06 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
PHP学习笔记之二 php入门知识
Jan 12 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
Zend Framework教程之视图组件Zend_View用法详解
Mar 05 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
PHP实现常用排序算法的方法
Feb 05 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
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
javascript定时器完整实例
2015/02/10 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
JavaScript实现图片放大预览效果
2020/11/02 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
理解Python中的类与实例
2015/04/27 Python
python通过socket查询whois的方法
2015/07/18 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
澳洲的服装老品牌:SABA
2018/02/06 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
商务英语专业求职信范文
2014/01/28 职场文书
酒后驾车标语
2014/06/30 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
党的作风建设心得体会
2014/10/22 职场文书