如何通过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 相关文章推荐
mac下安装nginx和php
Nov 04 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
php启用sphinx全文搜索的实现方法
Dec 24 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
May 13 PHP
php设计模式之装饰模式应用案例详解
Jun 17 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&&mysql)一
2006/10/09 PHP
php csv操作类代码
2009/12/14 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
初任培训自我鉴定
2013/10/07 职场文书
自我评价怎么写正确呢?
2013/12/02 职场文书
年度考核自我鉴定
2014/03/19 职场文书
结婚保证书范文
2014/04/29 职场文书
农业开发项目建议书
2014/05/16 职场文书
化工专业自荐书
2014/06/16 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
四风自我剖析材料
2014/09/30 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
2014年护理部工作总结
2014/11/14 职场文书
怎样写辞职信
2015/02/27 职场文书
工程进度款催款函
2015/06/24 职场文书