Laravel 8.68 Released

Laravel

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 MaduroTestResponse 贡献了三个新方法,包含 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)

修改

  • TaggedCache刷新也应该从缓存中删除标记 (#39299)
  • 修复了匿名组件上的模型序列化问题 (#39319)

变更

  • 默认情况下的数据库工厂模型更改为 Guess (#39310)

v8.67.0

新增

  • 增加了对 MariaDB 数据库队列跳过锁定行的支持 (#39311)
  • 增加了对 PHP 8.1 的支持 (#39034)

修复

  • 修复了翻译错误 (#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)

还原

还原

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-8-68-0

译文地址:https://learnku.com/laravel/t/62246

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!