5个非常有用的laravelblade指令,你用过哪些?(代码片段)

Laravel/PHP精华文章 Laravel/PHP精华文章     2022-11-18     603

关键词:

技术分享图片

接下来我将带大家认识下五个 Laravel Blade 指令,这些指令将让你在解决特定问题时如虎添翼。如果你是刚接触 Laravel 的用户,这些小技巧能带你认识到 Laravel Blade 模板引擎的便捷与高效。

废话少说,让我们开始吧。

1. 检测用户是否认证

你可以通过验证用户是否为空来检测其是否认证:

@if(auth()->user())
    // 用户已认证
@endif

然而,Laravel 自带的 Blade 命令可以更简洁地实现相同的功能:

@auth
    // 用户已认证
@endauth

2. 检测用户是否为访客

与认证相反,我们可以用 auth 辅助函数的 guest() 方法来检测用户是否为访客:

@if(auth()->guest())
    // 用户未认证
@endif

不过 Laravel 也为此提供了 @guest 命令:

@guest
    // 用户未认证
@endguest

我们也可以使用 else 语句来组合这两个命令:

@guest
    // 用户未认证
@else
    // 用户已认证
@endguest

3. 如果第一个视图存在则引入,否则引入第二个

构建多主题站点可能会有一个文件如果存在就引入,否则就引入另一个的需要,你可以简单地使用条件判断来实现:

@if(view()->exists(‘first-view-name‘))
    @include(‘first-view-name‘)
@else
    @include(‘second-view-name‘)
@endif

不过还是有一个更简洁直观的命令来做这件事:

@includeFirst([‘first-view-name‘, ‘second-view-name‘]);

4. 根据条件引入视图

当你只想在一定逻辑的基础上(如:一个已通过认证的用户)添加一些内容的时候,根据条件引入视图就非常有用了。

你可以使用 @if 条件来这样写:

@if($post->hasComments())
    @include(‘posts.comments‘)
@endif

我们可以只用一行命令 @includeWhen 来做到:

@includeWhen($post->hasComments(), ‘posts.comments‘);

5. 引入一个存在的视图

如果你有自定义主题系统或者你需要动态地创建 Blade 视图,那么检查文件是否存在就是必须要做的。

可以在辅助函数 view() 上调用 exists 方法:

@if(view()->exists(‘view-name‘))
    @include(‘view-name‘)
@endif

也可以使用 Blade 命令 includeIf 来处理:

@includeIf(‘view-name‘)

你可以通过 Blade 官方文档 了解更多实用的技巧来优化你 Laravel 项目里的前端模板。

重构快乐!

更多现代化 PHP 知识,请前往 Laravel / PHP 知识社区

浏览器的5种observer,你用过几种?

99%的前端开发者都关注了这个公众号👇点击上方 前端开发博客,关注并“设为星标”回复加群,自助秒进前端群网页开发中我们经常要处理用户交互,我们会用addEventListener添加事件监听器来监听各种用户操作&#x... 查看详情

这10个python机器学习库,你用过哪些?

来源:量子位1.AwkwardArray根据官方介绍,AwkwardArray用于嵌套的、大小不一的数据,包括任意长度的列表、记录、混合的类型和缺失数据,使用起来类似NumPy。看起来像是升级版的NumPy呀。果然,不同长度的数组... 查看详情

5个非常有用的rust小技巧(代码片段)

自从做了https://github.com/chainx-org/ChainX项目以后,主力语言就转到了Rust,今天刚好这个文章,比较剪短,跟大家分享一下。在开始之前,跟大家简单介绍ChainX项目。ChainX是一个基于substrate专注于区块链资产跨链... 查看详情

5个非常有用的rust小技巧(代码片段)

自从做了https://github.com/chainx-org/ChainX项目以后,主力语言就转到了Rust,今天刚好这个文章,比较剪短,跟大家分享一下。在开始之前,跟大家简单介绍ChainX项目。ChainX是一个基于substrate专注于区块链资产跨链... 查看详情

你用过的最良心的软件是什么样的?

...弃。4、功能齐全。功能强大,超出预期。 这些软件非常不错哦 1、乐网AdClear,广告拦截乐 查看详情

10款免费的电路设计软件,你用过几个?

...往比较昂贵,但是对于专业人员、学生和爱好者来说非常有益。用户开展项目或者仅进行工程验证时,这些资源往往是必要的,但是相关成本却令许多人望而却步。本文为工程师和工程研究爱好者们寻找了几款高质量... 查看详情

10款免费的电路设计软件,你用过几个?

...往比较昂贵,但是对于专业人员、学生和爱好者来说非常有益。用户开展项目或者仅进行工程验证时,这些资源往往是必要的,但是相关成本却令许多人望而却步。本文为工程师和工程研究爱好者们寻找了几款高质量... 查看详情

bigwebpack

...总结3、Webpack的五个核心概念4、有哪些常见的Loader?你用过哪些Loader?5、有哪些常见的Plugin?你用过哪些Plugin?6、Loader和Plugin的区别?1、webpack是什 查看详情

盘点一些嵌入式实时系统,你用过哪些?(代码片段)

...看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性&# 查看详情

你用过的 NSLog 都有哪些独特的用途?

】你用过的NSLog都有哪些独特的用途?【英文标题】:WhataresomeuniqueusesofNSLogyouhaveused?你用过的NSLog有哪些独特的用途?【发布时间】:2009-05-2312:42:50【问题描述】:您在调试时使用的NSLog有什么独特或特殊的用途吗?【问题讨论... 查看详情

非常有用的48个javascript代码片段

http://codebay.cn/post/7452.htmlhttps://github.com/Chalarangelo/30-seconds-of-code 查看详情

5个非常有用的rust小技巧(代码片段)

...用到:?格式化操作符。但是除此以外,还有另外一些非常好用的操作符!另一个非常有用的就是:#?,它会自动加入换行和缩进来增强输 查看详情

45个非常有用的oracle查询语句

...p://blog.jobbole.com/57741/   这里我们介绍的是40+个非常有用的Oracle查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有Oracle开发者都必备的技能,所以快快收藏... 查看详情

这10个python机器学习库,你用过哪些?(代码片段)

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇来源:量子位1.AwkwardArray根据官方介绍,AwkwardArray用于嵌套的、大小不一的数据,包括任意长度的列表、记录、混合的类型和缺失数据,... 查看详情

45个非常有用的oracle查询语句

这里我们介绍的是40+个非常有用的Oracle查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有Oracle开发者都必备的技能,所以快快收藏吧!日期/时间相关查询获取当前... 查看详情

继续分享5个实用的vs调试技巧(代码片段)

...的vs调试技巧原总结调试vs2019vs前言我在上一篇文章《5个非常实用的vs调试技巧》中分享了5个我认为非常值得了解的vs调试技巧,本周继续分享5个很基础但同样实用的调试技巧。1.条件断点作用简介:顾名思义,带条件的断点。... 查看详情

[react]在react项目中你用过哪些动画的包?

[react]在React项目中你用过哪些动画的包?react-transition-group个人简介我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,但坚持一定很酷。欢迎大家一起讨论主目录与歌谣一起通关前端面试题 查看详情

20个非常有用的java程序片段

1.字符串有整型的相互转换1Stringa=String.valueOf(2);//integertonumericstring2inti=Integer.parseInt(a);//numericstringtoanint 2.向文件末尾添加内容1BufferedWriterout=null;2try{3out=newBufferedWriter(newFileWriter(&rdqu 查看详情