[Laravel 5.7 - 新特性早知道] Blade 移除 `or` 语法,这位大佬居然解锁了新成就(只删代码)

file

这个是一个功能移除的变更,如果你准备升级到 5.7 版本,请提前做好改变,提案来自 PR?PR#23532 目前已针对 5.7 进行了合并。

在很早之前的一个需求中,Laravel 的 Blade 添加了 or 语法以支持没有设置的变量给一个默认值,例如:

{{ $name or 'Seven Du' }}

最终转换出来的代码就是:

{{ isset($name) ? $name : 'Seven Du' }}

但是在 PHP 7.0 中发布了一个新的语法(??)可以达到相同的目的,因为 Laravel 5.6 开始,框架将 PHP 版本要求提高到了 PHP 7 。那么这位解锁 「只删除代码」成就的小哥哥觉得 or Blade 语法现在式多余的了,就在 5.7 的提案中提交了 PR#23532 并得到了 Laravel 官方的认可。目前,该 PR 已经合并进入 5.7 版本的 Laravel Framework 中咯。

现在,我们使用 PHP 语法:

{{ $name ?? 'Seven Du' }}

达到的目的也是一样的咯。

?有计划升级到 Laravel 5.7 的小伙伴,并一直在使用 Blade 模板 or 语法的注意咯,可以先尝试做一下切换工作。

本作品采用《CC 协议》,转载必须注明作者和本文链接
Seven 的代码太渣,欢迎关注我的新拓展包 medz/cors 解决 PHP 项目程序设置跨域需求。
本帖由 Summer 于 6年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5
dreamsun

更新5.7之前要改模板里 or相关代码

6年前 评论
medz

@dreamsun 是的,替换为 php 7 语法 ??

6年前 评论
dreamsun

@medz 好的,多谢!!!!!

6年前 评论
dynamohuang

折腾啊 加大升级成本 应该都支持啊 为何非要一次性移除

6年前 评论
medz

@dynamohuang 应该是考虑到 PHP 7 的原因的~

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
创始人 @ Odore Inc.
文章
33
粉丝
202
喜欢
532
收藏
198
排名:23
访问:24.7 万
私信
所有博文
社区赞助商