如何通过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和js交互一例-PHP教程,PHP应用
Jan 03 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
php数组和链表的区别总结
Sep 20 PHP
PHP数组对象与Json转换操作实例分析
Oct 22 PHP
laravel通用化的CURD的实现
Dec 13 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/01/23 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
Python进程池Pool应用实例分析
2019/11/27 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
广州盈通面试题
2015/12/05 面试题
升职自荐书范文
2013/11/28 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
母亲80寿诞答谢词
2014/01/16 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
学校门卫岗位职责
2014/03/16 职场文书
初中教师业务学习材料
2014/05/12 职场文书
2014年共青团工作总结
2014/12/10 职场文书
护士个人年终总结
2015/02/13 职场文书
刑事辩护词范文
2015/05/21 职场文书
费城故事观后感
2015/06/10 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
Python装饰器详细介绍
2022/03/25 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python
Hive常用日期格式转换语法
2022/06/25 数据库