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