如何通过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学习之function的用法
Jul 14 PHP
php计算十二星座的函数代码
Aug 21 PHP
解析link_mysql的php版
Jun 30 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 PHP
php 魔术方法详解
Nov 11 PHP
微信红包随机生成算法php版
Jul 21 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
编写简单的Python程序来判断文本的语种
2015/04/07 Python
python中的print()输出
2019/04/12 Python
快速创建python 虚拟环境
2020/11/28 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
校园达人秀策划书
2014/01/12 职场文书
教师自我鉴定范文
2014/03/20 职场文书
优秀校长事迹材料
2014/12/24 职场文书
手术室护士个人总结
2015/02/13 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
Spring Boot实现文件上传下载
2022/08/14 Java/Android