Laravel 10版本即将在2月7日发布看看会有什么变化

2023-06-01 00:00:00 变化 将在 会有什么

Laravel v10是Laravel的下一个主要版本, 计划于2023年2月7日发布. 

在这篇文章中, 我们想概述一下我们所知道的所有新功能和变化.

我们鼓励你在接下来的几周内回头看看这个帖子,因为我们会继续关注Laravel 10的内容,并在2月发布前更新这个帖子。


Laravel 10的发布日期

在Laravel 9之前, 主要的框架版本是每年发布两次,或者大约每六个月发布一次。

从Laravel 9开始, 核心团队开始采用年度计划, 在2022年2月发布Laravel 9 (而不是最初计划的2021年9月):

> Laravel使用各种社区驱动的软件包,以及9个Symfony组件来实现框架内的一些功能。
 Symfony 6.0将于11月发布。
 出于这个原因, 我们选择将Laravel 9.0的发布推迟到2022年.
 
 通过推迟发布,我们可以将我们的底层Symfony组件升级到Symfony 6.0,
 而不必被迫等到2022年9月才进行升级。
 此外,这也为我们未来的发布做了更好的定位,
 因为我们每年的发布总是在Symfony的发布之后两个月进行。

今后的时间表是每年发布一个主要版本:

Laravel 9: 2022年2月8日
Laravel 10: 2023年2月7日
Laravel 11: 2024年2月6日

Laravel 9将继续获得错误修复,直到2023年8月8日,安全修复直到2024年2月6日。

你可以期待Laravel 10的bug修复到2024年8月6日,安全修复到2025年2月4日。


Laravel 10放弃了对PHP 8.0的支持

Laravel框架将在Laravel 10中放弃对PHP<=v8.0的支持。

最低要求的版本是PHP ^8.1。

浏览master和9.x的对比,我们可以期待看到框架中使用的8.1功能,比如只读属性。

https://github.com/laravel/framework/compare/9.x...master
https://laravel-news.com/php-8-1-0


Laravel 10骨架中的本地类型声明

在Laravel 10中, 应用程序的骨架代码将有本地类型声明。

这意味着,任何由框架生成的用户区代码都会有类型提示和返回类型。

我们的文章讨论了围绕这个方法的注意事项, 我们认为在未来创建新项目时,你会喜欢增加的类型。


类型的添加方式可以为Laravel项目带来最新的PHP类型提示功能,

而不会破坏框架层面的后向兼容性:

1.返回类型
2.方法参数
3.冗余的注解被尽可能的移除
4.允许用户在闭合参数中的土地类型
5.不包括类型化的属性


可调用的验证规则是默认的

从Laravel 10开始, 可调用的验证规则现在是默认的. 

当你通过artisan创建一个新的验证规则时, 你可以看到这样的结果:

# Laravel 9创建了一个规则类,实现了
# Illuminate\Contracts\Validation\Rule接口
artisan make:rule Uppercase
 
# Laravel 9的标志是创建一个可调用的和隐含的规则
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
 
# Laravel 10默认创建一个可调用的规则
artisan make:rule Uppercase
 
# Laravel 10的隐式规则
artisan make:rule Uppercase --implicit


从Laravel 9开始废弃的方法

在Laravel 9中标记为废弃的方法将在Laravel 10中被删除. 

我们可以期待在发布的升级指南中概述所有被废弃的方法, 潜在的影响评估, 以及如何在接近发布时升级.


以下是在撰写本文时,在Laravel框架的主分支和9.x分支的对比中发现的一些弃用情况。

删除各种缺失 Pull Request #41136
删除Pull Request #42587中已废弃的dates属性
删除 Pull Request #42590 中的 handleDeprecation 方法
删除已废弃的 assertTimesSent 方法 Pull Request #42592
删除已废弃的 ScheduleListCommand 的 $defaultName 属性 419471e
删除已废弃的 Route::home 方法 Pull Request #42614
删除已废弃的 dispatchNow 功能 Pull Request #42591


更多信息...

距离Laravel 10还有几个月的时间, 更多的新功能和公告将陆续发布. 

我们会在这些功能公布后更新这个帖子。

你也可以查看官方发布的页面,以寻找更新的信息,因为它变得可用。


转:

https://laravel-news.com/laravel-10

相关文章