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

Laravel

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 相关的资源:

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-6

译文地址:https://learnku.com/laravel/t/33526

本帖已被设为精华帖!
本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 11

终于等到你

4年前 评论
a_bing

我来了,你在哪儿

4年前 评论
幽弥狂

感觉没有什么大的功能更新

4年前 评论

在这美丽的夜里,....

4年前 评论

我看增加了API认证的功能,貌似以后可以不用jwt了.

4年前 评论

看了看,大概 7~8 个月就会发一个版本

4年前 评论

composer 下来还是5.8 不是6.0啊

4年前 评论

PHP-Casbin 也支持下Laravel6.0:https://github.com/php-casbin/php-casbin
支持ACL, RBAC, ABAC的权限控制

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!