框架将会选拔语义化版本

Laravel 6
已于近日正式发布,此版本也是最新的
LTS 版本。据介绍,从 Laravel 6 开始,Laravel
框架将会使用语义化版本。新特性还包括对 Laravel
Vapor 的支持,改进授权响应,引入任务中间件和惰性集合,以及对子查询的改进等。除此之外,还有许多其他的细节优化。

图片 1

Laravel 6.0 是新的 LTS 版本

根据官方提供的发布计划,Laravel 6 的 bug 修复会持续至 2021 年 9 月 3
日,安全修复则持续至 2022 年 9 月 3 日。上一个 LTS 版本是两年前发布的
Laravel 5.5,其安全修复会持续至 2020 年 8 月 30 日。

图片 2

语义化版本

Laravel 6 及未来更高版本均遵循语义化版本标准,也就是说 Laravel
的软件包会保持和 Laravel 一致的版本标准,但不会影响发布周期。

改进授权响应

在旧版本中,为终端用户提供有关授权的自定义错误消息十分困难。Laravel 6
引入了 Gate::inspect 方法来提供授权策略响应:

$response = Gate::inspect('view', $flight);

if ($response->allowed()) {
    // User is authorized to view the flight...
}

if ($response->denied()) {
    echo $response->message();
}

任务中间件

任务中间件(Job Middleware)支持在中间件中运行任务:

// Add a middleware method to a job class
public function middleware()
{
     return [new SomeMiddleware];
}

// Specify middleware when dispatching a job
SomeJob::dispatch()->through([new SomeMiddleware]);

此中间件可避免在任务的 handle() 方法中编写自定义逻辑,详情请查看 Job
Middleware is Coming to Laravel
6。

惰性集合

惰性集合(Lazy Collections)用于处理大量的数据集合,包括 Eloquent
模型集合。Laravel 6 新增 IlluminateSupportLazyCollection
类来处理大型数据集,它利用 PHP 的生成器降低了所需的内存。查看 Lazy
Collections 文档以了解更多详细信息。

子查询功能增强

关于 Laravel 6 中的 Eloquent
子查询功能增强请点此查看详细信息。

Laravel UI

Laravel 5.x
版本提供的前端脚手架现已被提取到一个单独的 laravel/ui Composer
包中,开发者可实现 UI 脚手架与主框架的分离,并进行独立的版本迭代。

如果需要使用传统的 Bootstrap/Vue 脚手架,请运行以下命令:

composer require laravel/ui
php artisan ui vue --auth

相关资源

  • Laravel 6 Release Notes
  • Laravel 6 Upgrade Guide
  • Laravel 6 Contribution
    Guide

(文/开源中国)