如何通过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编程与应用
Oct 09 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
php实现的Cookies操作类实例
Sep 24 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
ThinkPHP 404页面的设置方法
Jan 14 PHP
php通过curl模拟登陆DZ论坛
May 11 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
Jan 19 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 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 n个不重复的随机数生成代码
2009/06/23 PHP
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
Python字符遍历的艺术
2008/09/06 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
Python更换pip源方法过程解析
2020/05/19 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
自学python用什么系统好
2020/06/23 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
计算机专业优秀大学生自我总结
2014/01/21 职场文书
安全大检查实施方案
2014/02/22 职场文书
银行办公室岗位职责
2014/03/10 职场文书
2015年父亲节寄语
2015/03/23 职场文书
护士自荐信范文
2015/03/25 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书