Laravel 8.68 Released
Laravel 团队发布了 8.68,其中包含新的 TestResponse dd() 方法、更多 PHP 8.1 修复、「has any」JSON 断言以及 v8.x 分支中的最新更改。
这篇文章涵盖了 Laravel 的三个次要版本:v8.68、v8.67 和 v8.66。 通常 Laravel 每周都有一个小版本,但本周我们有三个小版本。 检查更改日志以获取完整的更改列表。
支持 PHP 8.1(v8.67)
Dries Vints 提供了更多PHP 8.1修复,为下个月的GA版本做准备:
- 现在我们已经接近 PHP 8.1 发布日期,所以不再模仿 PHP 8.0。
- 添加首选最低版本
- 为 Symfony、PHPUnit 和 CommonMark 的最低版本添加一个单独的构建步骤,我们无法通过 Composer 修改这些版本
- 为 PHP 8.1 兼容性增加了一些库
- 为 PHP 8.1 上的跳过邮件测试添加了更清晰的消息,因为不会为 SwiftMailer 打补丁
- 未跳过的 PHP 8.1 测试
将输出方法添加到 TestResponse (v8.68)
Nuno Maduro 为 TestResponse
贡献了三个新方法,包含 dd()
、ddHeaders()
和 ddSession()
:
$response = $this->get('/example');
// 输出响应
$response->dd();
// 或者是请求头
$response->ddHeaders();
// 或者是 Session
$response->ddSession(keys: $keys);
数据库模式更新限制 (v8.68)
Melek REBAI 提供了一个迁移方法 restrictOnUpdate()
,语法糖调用方式是:
// 直接使用 `onUpdate`
$table->onUpdate('restrict');
// 新的方法是
$table->restrictOnUpdate();
为 「has any」 提供 JSON 断言 (v8.66)
@Džuris 为 JSON 断言提供了一个方法 hasAny
,它可以断言至少一个特定属性的存在。
$json->hasAny('data', 'errors', 'meta');
数组方法 isList() (v8.66)
Chris Kankiewicz 贡献了一个方法 Arr::isList()
用于确定一个数组(array)是否是一个列表(list)。如果一个数组的所有键都是从 0 开始的连续整数,且中间没有空元素,则该数组被判定为一个列表。点击这个 合并请求 #39277 来查看关于这个方法的讨论,以及从 v8.1 开始使用 PHP 的 array_is_list 方法。
发行说明
您可以在下面看到新特性和更新的完整列表,以及 GitHub 上8.64.0 和 8.65.0之间的差异。以下版本说明直接来自 更新日志:
v8.68.0
补充
- 将 throttlerequestwithredis 添加到 $middlewarePriority (#39316)
- 增加
Illuminate/Database/Schema/ForeignKeyDefinition::restrictOnUpdate()
(#39350) - 增加
ext-bcmath
作为 composer.json 的扩展建议 (#39360) - 增加
TestResponse::dd
(#39359)
修改
变更
- 默认情况下的数据库工厂模型更改为 Guess (#39310)
v8.67.0
新增
修复
- 修复了翻译错误 (#39298)
- 修复了当错误码是整数时 Illuminate/Database/DetectsConcurrencyErrors::causedByConcurrencyError() 的问题 (#39280)
- 修复了总线(Bus)中的唯一问题 (#39302)
变更
- 默认在 CanBeOneOfMany::ofMany 中只选择相关列 (#39307)
v8.66.0
新增
- 添加了 withoutDeprecationHandling (#39261)
- 添加了按需创建日志的方法 (#39273)
- 在不需要字符选项的列中增加了 dateTime (#39269)
- 增加了
AssertableJson::hasAny
(#39265) - 增加了
Arr::isList()
方法 (#39277) - 在 CanBeOneOfMany 子查询中增加了 withoutGlobalScope (#39295)
- 增加了
Illuminate/Support/Testing/Fakes/BusFake::assertNothingDispatched()
(#39286)
还原
- 还原 「[8.x] 新增拦截器策略回调」 (#39290)
还原
- 还原 "[8.x] 添加还原策略" (#39290)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。