如何通过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 中文处理函数集合
Aug 27 PHP
php tp验证表单与自动填充函数代码
Feb 22 PHP
hadoop常见错误以及处理方法详解
Jun 19 PHP
php中strtotime函数用法详解
Nov 15 PHP
php 删除cookie方法详解
Dec 01 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
浅谈PHP封装CURL
Mar 06 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
PHP实现微信提现功能(微信商城)
Nov 21 PHP
PHP并发场景的三种解决方案代码实例
Feb 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
弹出模态框modal的实现方法及实例
Sep 19 #PHP
PHP 进度条函数的简单实例
Sep 19 #PHP
You might like
PHP下对字符串的递增运算代码
2010/08/21 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
浅析is_writable的php实现
2013/06/18 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
详解React中setState回调函数
2018/06/14 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python包和模块的分发详细介绍
2020/06/19 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
浅析Python的命名空间与作用域
2020/11/25 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
社会保险接收函
2014/01/12 职场文书
园艺师求职信
2014/03/10 职场文书
反腐倡廉标语
2014/06/24 职场文书
施工单位安全责任书
2014/07/24 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
护士医德医风心得体会
2016/01/25 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python