Laravel 9.24 发布

Laravel 团队发布了 9.24,其中包含新的 Arsitan 命令 db、新的内置验证规则、在没有任何事件的情况下恢复软删除的模型等等:

本周的 Laravel 9.24 版本包括几个由 @jbrooksuk 和 @_joedixon 贡献的新 db 命令🔥
在此处了解它们:t.co/0oPmI1j4f8
— 泰勒·奥特威尔🪐 (@taylorotwell) 2022 年 8 月 9 日

新的 Arsitan 命令 db

James Brooks 为数据库贡献了三个新的 Artisan 命令:db:showdb:tabledb:monitor

首先,db:show 为你提供数据库的概览。它包括数据库类型、版本、用户名等。

接下来,db:table 命令可让你查看有关表的详细信息,包括行数、列详细信息、索引等。

最后,db:monitor 命令可让你查看数据库连接数等信息。

图片来自 Pull Request #43367,其中包含有关这些命令的所有详细信息。

不以字符串结尾(doesnt_end_with)的验证规则

@kichetof 提供了一个 doesnt_end_with 验证规则来检查字符串是否以给定的子字符串结尾。这是拉取请求测试的示例:

// 验证通过
$v = new Validator(
  $trans,
  ['x' => 'hello world'],
  ['x' => 'doesnt_end_with:hello']
);

$this->assertTrue($v->passes());

// 验证失败
$v = new Validator(
  $trans,
  ['x' => 'hello world'],
  ['x' => 'doesnt_end_with:world']
);

$this->assertFalse($v->passes());

不引发任何事件的恢复软删除模型

Venelin Iliev 贡献了一个 restoreQuietly() 方法,可以在不引发任何事件的情况下恢复软删除的模型。

$deletedModel->restoreQuietly();

使配置存储 macroable

Chris Kankiewicz 有助于将 macroable 特性添加到 Config 存储,以便用户可以在他们的应用程序中扩展它:

config()->macro('sayHello', function () {
    return 'Hello, world';
});

config()->sayHello(); // Hello, world

发行说明

你可以在下面查看新功能和更新的完整列表并 在 GitHub 上查看 9.23.0 和 9.24.0 之间的差异。以下发行说明直接来自 changelog

v9.24.0

新增

  • 新的 db:showdb:tabledb:monitor 命令 (#43367)
  • 添加了验证 doesnt_end_with 规则 (#43518)
  • 添加了 Illuminate/Database/Eloquent/SoftDeletes::restoreQuietly() (#43550)
  • 向资源 ConditionallyLoadsAttributes trait 添加了 mergeUnless (#43567)
  • 添加了 Illuminate/Support/Testing/Fakes/NotificationFake::sentNotifications() (#43558)
  • Illuminate/Database/Eloquent/Builder.php 中的 Passthru 中添加了 implode (#43574 )
  • 使 Config 存储 macroable (#43598)
  • whenNull 添加到 ConditionallyLoadsAtrribute trait (#43600)
  • 将子路由模型关系名称提取到方法中 (#43597)

恢复

  • whereIn 添加到 Illuminate/Routing/RouteRegistrar::allowedAttributes (#43523)

修复

  • 修复广播事件的唯一锁定 (#43516)
  • 修复 windows 上运行 docs 命令的问题 (#43566, #43585)
  • 修复了在迁移命令中运行 db:seedusing --seed 时的输出(#43593

变更

  • 当无法在系统上为 artisan docs 命令找到预期的二进制文件时,优雅地失败 (#43521)
  • 改进一些 Artisan 命令的输出 (#43547)
  • Postgres DSN 中的备用数据库名称,允许 pgbouncer 别名数据库继续在 9.x 上工作 (#43542)
  • 允许组件标签使用 @class() (#43140)
  • 属性投射性能改进 (#43554)
  • 队列工作者守护进程也应该监听 SIGQUIT (#43607)
  • 使用带有排序操作数组的 Collection->sortBy() 时保留原始键 (#43609)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-9-24-0

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

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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