如何通过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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
PHP程序61条面向对象分析设计的经验小结
Nov 12 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
PHP环境中Memcache的安装和使用
Nov 05 PHP
php设计模式之单例模式代码
Jun 11 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
discuz论坛更换域名,详细文件修改步骤
Dec 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
PHP使用Nginx实现反向代理
Sep 20 #PHP
弹出模态框modal的实现方法及实例
Sep 19 #PHP
You might like
简单的php 验证图片生成函数
2009/05/21 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
ReactNative-JS 调用原生方法实例代码
2016/10/08 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
简述Python中的面向对象编程的概念
2015/04/27 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
python基础 range的用法解析
2019/08/23 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
python爬虫请求头设置代码
2020/07/28 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
写演讲稿要注意的六件事
2014/01/14 职场文书
珍惜水资源建议书
2014/03/12 职场文书
目标责任书范本
2014/04/16 职场文书
保护黄河倡议书
2014/05/16 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技