如何通过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
关于PHP5 Session生命周期介绍
Mar 02 PHP
用PHP实现递归循环每一个目录
Aug 08 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
thinkphp5实现无限级分类
Feb 18 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
Jan 07 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 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中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
js常用代码段整理
2011/11/30 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
利用js编写网页进度条效果
2017/10/08 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
python构建深度神经网络(DNN)
2018/03/10 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
python爬虫请求头设置代码
2020/07/28 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
保安队长职务说明书
2014/02/23 职场文书
对标管理实施方案
2014/03/12 职场文书
消防安全承诺书
2014/05/22 职场文书
单位实习鉴定评语
2015/01/04 职场文书
户外活动总结
2015/02/04 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书