如何通过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 友好URL的实现(吐血推荐)
Oct 04 PHP
PHP 冒泡排序算法的实现代码
Aug 08 PHP
PHP漏洞全解(详细介绍)
Nov 13 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php中的mongodb select常用操作代码示例
Sep 06 PHP
Yii框架实现记录日志到自定义文件的方法
May 23 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 02 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
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
Python实现的爬取百度文库功能示例
2019/02/16 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
基于python实现操作redis及消息队列
2020/08/27 Python
详解python中的异常捕获
2020/12/15 Python
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
weblogic面试题
2016/03/07 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
八一慰问活动方案
2014/02/07 职场文书
纪检监察建议书
2014/05/19 职场文书
化工工艺设计求职信
2014/06/25 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
面试通知短信
2015/04/20 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
Python matplotlib多个子图绘制整合
2022/04/13 Python
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript