如何通过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中for循环语句的几种变型
Mar 16 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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 设计模式之 工厂模式
2008/12/19 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
jQuery事件委托之Safari
2016/07/05 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
JS前端加密算法示例
2016/12/22 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
Python中包的用法及安装
2020/02/11 Python
Django 再谈一谈json序列化
2020/03/16 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
Python类的继承super相关原理解析
2020/10/22 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
python通过cython加密代码
2020/12/11 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
写好自荐信的几个要点
2013/12/26 职场文书
2013年学期结束动员演讲稿
2014/01/07 职场文书
社区志愿者活动总结
2014/06/26 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
学生检讨书怎么写
2015/05/07 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python