如何通过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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
php调用mysql数据 dbclass类
May 07 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
php5.3不能连接mssql数据库的解决方法
Dec 27 PHP
php调整服务器时间的方法
Apr 03 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
laravel框架使用极光推送消息操作示例
Feb 15 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小教程之实现双向链表
2014/06/12 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
nodejs教程之入门
2014/11/21 NodeJs
DOM 高级编程
2015/05/06 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
浅谈Koa服务限流方法实践
2017/10/23 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Flask框架信号用法实例分析
2018/07/24 Python
python numpy 按行归一化的实例
2019/01/21 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
python识别验证码图片实例详解
2020/02/17 Python
Python实现动态循环输出文字功能
2020/05/07 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
python反扒机制的5种解决方法
2021/02/06 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
Linux文件系统类型
2012/09/16 面试题
校本教研工作方案
2014/01/14 职场文书
团干部培训方案
2014/06/03 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
结婚老公保证书
2015/02/26 职场文书
检讨书格式
2019/04/25 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android