如何通过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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
建立动态的WML站点(二)
Oct 09 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
php 无限极分类
Mar 27 PHP
Zend 输出产生XML解析错误
Mar 03 PHP
php adodb介绍
Mar 19 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
php json中文编码为null的解决办法
Dec 14 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实现的常见排序算法汇总
2014/09/08 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
Python3 Random模块代码详解
2017/12/04 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
浅谈Python中的私有变量
2018/02/28 Python
python实现两张图片的像素融合
2019/02/23 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
医院护士求职自荐信格式
2013/09/21 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
社区活动邀请函范文
2014/01/29 职场文书
运动会解说词100字
2014/01/31 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
python编写五子棋游戏
2021/05/25 Python