Laravel9.21版本发布
Laravel 团队发布了 9.21,其中包含了Artisan的全新外观、两个全新的 Artisan 命令等等。
让我们来看看最新的 Laravel 9 版本中的所有优点:
Artisan 焕然一新
Nuno Maduroartisan对CLI做出了巨大的更新。
“几乎所有内置的 Artisan 命令都经过重新设计,以提供更好的体验。”
以下是全新安装的 Laravel 9.21 的一些示例:
如果您想更深入地了解,请查看Laravel:
https://blog.laravel.com/laravel-refreshing-artisan/
Laravel 博客上的令人耳目一新的Artisan。
此外,Pull Request #43065有实现细节和几十个新旧 CLI 的并排比较。
关于Artisan 命令
说到 Artisan 的改进,James Brooks创建了一个全新的命令:about。
该about命令显示有关 Laravel 环境的输出,例如调试模式、PHP 版本、缓存状态等:
Artisan模型显示命令
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有助于从请求对象中检索输入作为枚举:
// Before
public function post(Request $request)
{
$status = StatusEnum::tryFrom($request->input('status'));
// do stuff with status enum...
}
// After
public function post(Request $request)
{
$status = $request->enum('status', StatusEnum::class);
// do stuff with status enum...
}
发行说明
您可以在下面查看新功能和更新的完整列表以及GitHub 上9.20.0 和 9.21.0之间的差异。以下发行说明直接来自变更日志:
https://github.com/laravel/framework/compare/v9.20.0...v9.21.0
https://github.com/laravel/framework/blob/bc76c953b778a3f91a88a3aefe4d60a2972ed2f2/CHANGELOG.md#v9210---2022-07-19
v9.21.0
添加
添加了鼓舞人心的报价(#43180,#43189)
为 Artisan 引入全新外观 ( #43065 )
添加 whenCounted 到 JsonResource ( #43101 )
Artisan模型:显示命令(#43156)
Artisanabout命令(#43147,51b5eda , # 43225,# 43276)
将枚举转换添加到请求 ( #43239 )
恢复
恢复“修复路由中的默认参数错误”(#43208)
恢复路由更改 PR ( #43255 )
修复
修复 sqlsrv 的事务尝试计数器 ( #43176 )
改变了
使 assertDatabaseHas failureDescription 对多字节字符更友好 ( #43181 )
ValidationException 仅在使用字符串时汇总(#43177)
改进集合中的模式功能(#43240)
在队列工作者 resetScope 回调中清除 Facade resolvedInstances ( #43215 )
改进 queue:work 命令 ( #43252 )
当 Model::replicate 的 UPDATED_AT 或 CREATED_AT 为 null 时删除 null 默认属性名称 ( #43279 )
防止不明确的列 ( #43278 )
对 sqlsrv 数据库队列使用 readpast 查询提示而不是 holdlock ( #43259 )
供应商发布标志,仅限于现有文件 ( #43212 )
相关文章