在介绍新功能之前,要指出的是,从版本 6 开始,Laravel 现在遵循语义化版本,并将每六个月发布一个新的主要版本。
Laravel Airlock
Laravel Airlock 为 SPA (单页应用程序)、移动应用程序和基于令牌的简单 API 提供了轻巧的身份验证系统。Airlock 允许您的应用程序的每个用户为其帐户生成多个 API 令牌。这些令牌可以被授予功能 / 作用域,指定了允许令牌执行哪些动作。
自定义 Eloquent 转换
Laravel 有多种内置的、有用的强制类型。但是,您有时可能需要定义自己的强制类型。现在,您可以通过定义实现 CastsAttributes 接口的类来实现此目的。
实现此接口的类必须定义 get 和 set 方法。 get 方法负责将数据库中的原始值转换为强制转换值,而 set 方法应将强制值转换为可以存储在数据库中的原始值。
Blade 组件标签 & 改进
Blade 组件已进行了重大调整,以允许基于标签的渲染、属性管理、组件类和内联视图组件等。由于 Blade 组件的改动非常广泛,请查阅完整的 Blade 组件文档以了解此功能。
HTTP 客户端
现在,Laravel 为 Guzzle HTTP 客户端相关提供了一种表达能力极强的 API,您可以快速发出 HTTP 请求以与其他 Web 应用程序进行通信。 Laravel 的 Guzzle 相关 wrapper 专注于其最常见的用例和良好的开发人员体验。
路由缓存速度改进
Laravel 7 提供了一种新方法,用于匹配已使用 Artisan 的 route:cache 命令已缓存的路由。在大型应用程序 (例如,具有 800 条或更多路由的应用程序) 上,这些改进可以使简单的 “Hello World” 基准每秒请求速度提高 2 倍,而无需更改您的应用程序。
作者:Summer