如何通过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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
非常不错的MySQL优化的8条经验
Mar 24 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
深入解析phpCB批量转换的代码示例
Jun 27 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP批量去除BOM头内容信息代码
Mar 11 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 PHP
PHP解耦的三重境界(浅谈服务容器)
Mar 13 PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 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中一个有意思的日期逻辑处理
2012/03/25 PHP
php根据年月获取季度的方法
2014/03/31 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
js字符串操作方法实例分析
2015/05/06 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
原生JS实现跑马灯效果
2017/02/20 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
wxPython事件驱动实例详解
2014/09/28 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
Python实现word2Vec model过程解析
2019/12/16 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
2020/05/16 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
道路建设实施方案
2014/03/18 职场文书
企业文化标语口号
2014/06/09 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
股权转让协议书
2014/12/07 职场文书
承诺书模板大全
2015/05/04 职场文书
会议简报格式范文
2015/07/20 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL
Python创建SQL数据库流程逐步讲解
2022/09/23 Python