Laravel 7 有哪些新特性和功能改进?
Laravel 7 的正式发布日期为 2020年3月3日。根据 Laravel Framework 每6个月的主要 laravel 版本发布策略(2月和 8月),它是另一个主要版本。它不是 LTS 版本,因此根据 Laravel 版本支持政策,他们提供 2020年9月3日之前的 6个月错误修复,以及直到 2021年3月3日之前的 1年安全问题修复支持。让我们看一下 Laravel 7 的新功能和改进。
Laravel 7的新功能
● Laravel Airlock
● 适用于 HTTP 客户端的 Zttp
● CORS 支持
● 自定义 Eloquent Cast
● 流畅的字符串操作
● Blade X
● 可定制的 Stubs
● 查询时间转换
● 多个邮件驱动程序
● 新 Artisan 命令
Laravel 7 中的改进
● 路由模型绑定改进
● 2倍更快的路由
● 数据库队列改进
● Markdown 邮件模板改进
● 以及更多的错误修复和改进。
Laravel Airlock
Laravel Airlock 是用于API身份验证的官方软件包。它提供了简单的令牌基础 API 身份验证,令牌发行,令牌能力,移动应用程序身份验证等。
HTTP客户端的Zttp
使用 Zttp,向 API 发出 HTTP 请求将是更好,更简洁的方法。
发布请求
1 2 3 4 5 6 |
|
获取响应
1 2 |
|
带请求头
1 2 3 |
|
响应
1 2 3 4 5 |
|
CORS 支持
现在 Laravel 7 开箱即用地支持 CORS (跨域资源共享)。你应该更了解每个开发者在 API 开发中都遇到过 CORS 问题。现在,Laravel 7 使用配置值自动响应 OPTION 请求。Laravel 7 开箱即用的 HandleCors 中间件可以搞定一切。
自定义 Eloquent Cast
Laravel 7 中的自定义 eloquent casting 是另一个很酷的功能。此功能将使您能够添加自定义 casts。让我们看一下 JSON Caster。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
现在,我们可以在模型中使用自定义的 eloquent cast 了。
1 2 3 4 5 6 7 8 9 10 |
|
流畅的字符串操作
在 Laravel 7 中,您可以使用 Illuminate\Support\Str 类来做更多更酷的面向对象的事情。
1 2 3 4 5 |
|
Blade X
Laravel 7 Blade X 功能使您能够制作 class-less 的组件。
生成 x-component
1 2 3 4 5 6 7 8 |
|
Blade x 用法
1 2 3 |
|
自定义 Stubs
现在,您可以使用 artisan 命令在 Laravel 7.x 中自定义 stubs。
1 |
|
查询时间转换
Laravel 7 提供了 withCasts 方法,可帮助您在运行查询时强制转换值。让我们举个例子。
1 2 3 4 5 6 |
|
多个邮件驱动程序
Laravel 7 将允许您使用单个应用程序设置多个邮件驱动程序。
1 2 3 |
|
新 Artisan 命令
Laravel 7 中添加了一个新的 artisan 测试命令。新的 artisan 测试命令为您提供了精美的 UX 和有关测试的有用信息。
1 |
|
Laravel 7 中的改进
● 路由模型绑定改进
● 2倍更快的路由
● 数据库队列改进
● Markdown 邮件模板改进
● 以及更多的错误修复和改进。
路由模型绑定改进
自定义 Key
默认情况下,路由模型绑定与 id 字段一起使用。现在您可以自定义它。
1 2 3 |
|
自动作用域
Laravel 7 将使用其辨别惯例使用的方法来确认程序中的关系调用,从而自动确定查询的范围以检索嵌套模型。
1 2 3 4 5 |
|
2倍更快的路由
使用 route:cache 时,Laravel 7 的路由匹配性能比 laravel 6 快 2倍
数据库队列改进
Laravel 7 对使用 MySQL 8+ 作为数据库支持队列的应用程序进行了改进。
Markdown 邮件模板改进
使用 Tailwind CSS 调色板,邮件的默认 markdown 模板外观更加新颖。可以根据需要发布和自定义模板。