如何通过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 多维数组排序实现代码
Aug 05 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
smarty半小时快速上手入门教程
Oct 27 PHP
php函数连续调用实例分析
Jul 30 PHP
高质量PHP代码的50个实用技巧必备(上)
Jan 22 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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
网络资源
2006/10/09 PHP
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
就业自荐信
2013/12/04 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
大学生自荐材料范文
2014/12/30 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书