查看原文
其他

Laravel 6 LTS发布:遵循语义化版本标准、前端脚手架独立为Laravel UI

局长 开源中国 2020-09-02

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

Laravel 6.0 是新的 LTS 版本

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

语义化版本

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 新增 Illuminate\Support\LazyCollection 类来处理大型数据集,它利用 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

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿

推荐阅读

华为方舟编译器正式开源,采用自主平台托管

用 Rust 开发 Linux 驱动?内核维护者愿意接受

开源项目内置广告后续:npm 禁止终端广告

Qt for 单片机,无需操作系统直接上

Linux 桌面进化史

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存