Laravel 6 现已发布
发布于 作者: Paul Redmond
Laravel 团队很自豪地宣布 Laravel 6 的发布,它现在对所有人开放。此版本标志着 Laravel 框架 (laravel/framework) 开始使用 语义化版本控制。此外,此版本还包括与 Laravel Vapor 的兼容性、改进的授权响应、作业中间件、延迟集合、子查询改进以及许多其他改进。
以下是 Laravel 6 中包含的一些新功能
Laravel 6.0 是新的 LTS 版本
Laravel 6.0 的发布标志着 Laravel 的新的 LTS 版本,将提供错误修复,直到 2021 年 9 月 3 日,并提供安全修复,直到 2022 年 9 月 3 日。Laravel 5.5 是之前的 LTS 版本(安全修复到 2020 年 8 月 30 日)。以下是最新版本的 Laravel 的版本和日期更新表
版本 | 发布时间 | 错误修复截止日期 | 安全修复截止日期 |
---|---|---|---|
V1 | 2011 年 6 月 | – | – |
V2 | 2011 年 9 月 | – | – |
v3 | 2012 年 2 月 | – | – |
v4 | 2013 年 5 月 | – | – |
[5.0](http://wp.laravel-news.com/laravel-5-released/) | 2015 年 2 月 4 日 | 2015 年 8 月 4 日 | 2016 年 2 月 4 日 |
[5.1 (LTS)](https://news.laravel.net.cn/laravel-5-1-released) | 2015 年 6 月 9 日 | 2017 年 6 月 9 日 | 2018 年 6 月 9 日 |
[5.2](https://news.laravel.net.cn/laravel-5-2-is-released) | 2015 年 12 月 21 日 | 2016 年 6 月 21 日 | 2016 年 12 月 21 日 |
[5.3](https://news.laravel.net.cn/laravel-5-3-is-now-released) | 2016 年 8 月 23 日 | 2017 年 2 月 23 日 | 2017 年 8 月 23 日 |
[5.4](https://news.laravel.net.cn/laravel-5-4) | 2017 年 1 月 24 日 | 2017 年 7 月 24 日 | 2018 年 1 月 24 日 |
[5.5 (LTS)](https://news.laravel.net.cn/laravel-5-5) | 2017 年 8 月 30 日 | 2019 年 8 月 30 日 | 2020 年 8 月 30 日 |
[5.6](https://news.laravel.net.cn/laravel-5-6) | 2018 年 2 月 7 日 | 2018 年 8 月 7 日 | 2019 年 2 月 7 日 |
[5.7](https://news.laravel.net.cn/laravel-5-7-is-now-released) | 2018 年 9 月 4 日 | 2019 年 2 月 4 日 | 2019 年 9 月 4 日 |
[5.8](https://news.laravel.net.cn/laravel-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 发布周期将保持不变。
Ignition 错误页面
Laravel 6.0 现在附带 Ignition,它是 Laravel 的一个新的开源异常页面,由 Freek Van der Herten 和 Marcel Pociot 创建。要了解有关此功能的更多信息,请查看我们的 公告文章,并在 Laracasts 的 Laravel 6 新功能:Ignition 是 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();}
作业中间件
作业中间件是由 Taylor Otwell 贡献的功能,它允许作业通过中间件运行
// Add a middleware method to a job classpublic function middleware(){ return [new SomeMiddleware];} // Specify middleware when dispatching a jobSomeJob::dispatch()->through([new SomeMiddleware]);
中间件将帮助您避免在作业 handle()
方法的主体中进行自定义逻辑。在我们的文章中了解更多信息:作业中间件即将在 Laravel 6 中推出。
延迟集合
延迟集合是处理大量数据集合(包括 Eloquent 模型集合)的变革者。新的 Illuminate\Support\LazyCollection
类利用 PHP 的生成器,在处理大型数据集时保持低内存占用。查看 延迟集合 文档,详细了解此令人印象深刻的新功能!
Eloquent 子查询增强
在 Laravel 新闻中了解更多有关 Jonathan Reinink 对子查询的贡献信息,请查看他在 Laravel 新闻上的文章 - Laravel 6.0 中的 Eloquent 子查询增强。此外,请查看 Jonathan 在其 Laracon 演讲中使用子查询(以及其他技术)的精彩演讲 Eloquent 性能模式。
Laravel UI
Laravel 5.x 版本中提供的前端脚手架现在已提取到单独的 laravel/ui Composer 包中。这允许一方 UI 脚手架与主框架分开迭代。
如果您想要传统的 Bootstrap/Vue/ 脚手架,您将运行以下命令
composer require laravel/uiphp artisan ui vue --auth
了解更多
您现在应该能够使用 laravel CLI 工具启动新的 Laravel 6 应用程序
laravel new my-app
以下是一些与 Laravel 6 相关的资源,您应该查看一下