Laravel 团队已于2019.9.4日宣布 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 的更新表和最新版本的日期:
语义版本号
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() 方法中编写与主体业务逻辑无关的代码。
惰性集合
对于处理大量数据的集合 (包括 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.0 LTS 发布,内附更新细节的详细内容,更多请关注其它相关文章!