Laravel 9.21 发布
Laravel 团队发布了 9.21,其中包含 Artisan 的全新外观、两个全新的 Artisan 命令等等。
让我们来看看最新的 Laravel 9 版本中的所有优点:
焕然一新的 Artisan
Nuno Maduro 为 artisan
CLI 做出了巨大的更新。 「几乎所有内置的 Artisan 命令都经过重新设计,以提供更好的体验。」
以下是全新安装的 Laravel 9.21 的一些示例:
如果想深入了解,请查看 Laravel 博客上的 Laravel: Refreshing Artisan。 此外,Pull Request #43065 具有旧 CLI 与新 CLI 的实现细节和数十个并排比较。
Artisan 的 about 命令
说到 Artisan 的改进,James Brooks 创建了一个全新的命令:about
。 about
命令显示有关 Laravel 环境的输出,例如调试模式、PHP 版本、缓存状态等:
Artisan 模型 show 命令
Jess Archer 贡献了一个新的 model:show
Artisan 命令,该命令显示了模型的概览:
它提供来自数据库和 Eloquent 的数据,以便在一个地方提供完整、有用的模型图片。 通常,我们必须探索数据库和模型类来编译这些信息。
向 JsonResource 添加了 whenCounted 方法
Steve Bauman 为 JSON 资源贡献了一个 whenCounted
方法,以便在模型上设置关系时有条件地包含关系计数:
// new PostResource($post->loadCount('comments'));
class PostResource extends PostResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'comments_count' => $this->whenCounted('comments'),
];
}
}
以枚举形式从请求中检索输入
@emargareten 帮助从请求对象中检索输入作为枚举:
// 之前
public function post(Request $request)
{
$status = StatusEnum::tryFrom($request->input('status'));
// 根据枚举状态 do stuff...
}
// 现在
public function post(Request $request)
{
$status = $request->enum('status', StatusEnum::class);
// 根据枚举状态 do stuff...
}
发布说明
您可以在 GitHub 查看新功能和更新的完整列表以及 9.20.0 和 9.21.0 之间的差异。以下发行说明来自 changelog:
v9.21.0
Added
- 新增励志名言(#43180, #43189)
- 为 Artisan 引入全新外观 (#43065)
- 将
whenCounted
添加到 JsonResource (#43101) - Artisan
model:show
命令 (#43156) - Artisan
about
命令 (#43147, 51b5eda, #43225, #43276) - 将枚举转换添加到请求 (#43239)
撤销
修复
- 修复 sqlsrv 的事务尝试计数器 (#43176)
变更
- 使 assertDatabaseHas failureDescription 对多字节字符更友好(#43181)
- ValidationException 仅在使用字符串时汇总 (#43177)
- 改进集合中的模式功能 (#43240)
- 清除 queue worker resetScope 回调中的 Facade resolvedInstances (#43215)
- 改进
queue:work
命令 (#43252) - 当 Model::replicate 中的 UPDATED_AT 或 CREATED_AT 为空时删除空默认属性名称 (#43279)
- 防止不明确的列 (#43278)
- 对 sqlsrv 数据库队列使用 readpast 查询提示而不是 holdlock (#43259)
- 供应商发布标志,仅限于现有文件(#43212)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
很炫酷 :joy:
照这节奏都要快10了吧 :joy:
直接出 10 吧,这速度
下一个版本laravel x
虽然越来越好用,但更新真的太快了,完全跟不上 :joy:
版本号会不会不够用 :joy:
就这还省了一篇 9.20 的呢