Laravel 6.0 LTS 发布,内附更新细节

3,603 阅读4分钟

文章转发自专业的Laravel开发者社区,原始链接:learnku.com/laravel/t/3…

Laravel 团队今天宣布 Laravel 6.0 版本正式发布,该版本的发布标志着 laravel 框架开始使用语义化版本,此外,该版本还包含了对 Laravel Vapor 的支持、优化了授权响应、任务中间件、懒集合、子查询优化以及很多其它细节优化。

下面是一些有关 Laravel 6.0 版本的新特性:

Laravel 6.0 是新的 LTS 版本

Laravel 6.0 的发布标志着Laravel新的 LTS (译者注 Long-Term Support 长期技术支持)版本,该版本的错误修复将持续到2021年9月3日,安全修复将持续到2022年9月3日。之前的LTS版本 Laravel 5.5(安全修复会持续到2020年8月30日)。以下是最新版本的 Laravel 的更新表和最新版本的日期:

版本号 发布 Bug修复 安全修复
V1 2011 年 6 月
V2 2011年 9 月
v3 2012 年 2 月
v4 2013 年 5 月
5.0 2015 年 2 月 4 日 2015年 8 月 4 日 2016 年 2 月 4 日
5.1 (LTS) 2015年6月9日 2017年6月9日 2018年6月9日
5.2 2015年12月21日 2016年6月21日 2016年12月21日
5.3 2016年8月23日 2017年2月23日 2017年8月23日
5.4 2017年1月24日 2017年7月24日 2018年1月24日
5.5 (LTS) 2017年8月30日 2019年8月30日 2020年8月30日
5.6 2018年2月7日 2018年8月7日 2019年2月7日
5.7 2018年9月4日 2019年2月4日 2019年9月4日
5.8 2019年2月26日 2019年8月26日 2020年2月26日
6.0 (LTS) 2019年9月3日 2021年9月3日 2022年9月3日

语义版本号

Laravel 发布通知阐明了 Laravel 6.0 及以后版本的语义控制:

Laravel 框架 (Laravel /framework)包 遵循语义版本控制标准。这使得框架与已经遵循此版本控制标准的其他第一方Laravel 包保持一致。Laravel 的发布周期将保持不变。

优化授权响应

在此之前,围绕授权策略提供自定义错误信息给终端用户非常困难,Laravel6提供 Gate::inspect 方法来授权策略响应:

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

if ($response->allowed()) {
    // 用户已授权...
}

if ($response->denied()) {
	// 用户未授权,返回响应信息
    echo $response->message();
}

任务中间件

任务中间件允许中间件到队列任务中对其进行过滤:

// 在任务类中定义中间件方法
public function middleware()
{
     return [new SomeMiddleware];
}

// 分发任务时可通过through指定中间件
SomeJob::dispatch()->through([new SomeMiddleware]);

使用中间件可以避免在任务类的handle() 方法中编写与主体业务逻辑无关的代码. 想了解更多请查看文章:  Laravel 6 的任务中间件.

惰性集合

对于处理大量数据的集合(包括 Eloquent 模型集合),惰性集合是一个改变(既定的)游戏规则者。一个新的 lighting \Support\LazyCollection类利用 PHP 的生成器在处理大型数据集时保持低内存。查看Lazy Collections 文档了解关于这个令人印象深刻的新特性的更多细节!

Eloquent 子查询增强

了解更多关于Jonathan Reinink 's对子查询的贡献,请参阅他在Laravel News上的文章——Laravel 6.0中出色的子查询增强功能。此外,请查看Jonathan在他的Laracon talk Eloquent 性能模式中关于使用子查询(以及其他技术)的精彩演讲。

Laravel UI

Laravel 5.x 自带的前端脚手架,现在被分离成一个独立的laravel/ui Composer包。这允许在主框架之外,方便迭代UI脚手架。

如果你想用传统的Bootstrap/Vue/搭建,你会运行以下命令:

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

了解更多

你现在可以使用 laravel CLI 工具启动新的 Laravel 6 应用程序:

laravel new my-app

以下是一些与 Laravel 6 相关的资源: