Laravel 9.46版本发布
Laravel团队本周发布了9.46版本,其中有两个JsonResource方法可以有条件地包含资源属性,更新了小数点验证规则,还有更多。
添加 "whenHas "到JSONResource中
Michael Nabil为JsonResource贡献了一个whenHas()方法,它使你能够在模型上发现属性时有条件地将其包含在Response中。
例如,这提供了一个干净的方法来有条件地定义一个属性:
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->whenHas('email'),
];
}
你也可以定义一个Closure作为默认:
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->whenHas('email', function () {
return 'default value';
}),
];
}
更多细节请参见Pull Request #45376。
JsonResource "unless "方法
Michael Nabil贡献了一个unless()方法,用于在条件解析为false时检索一个值:
public function toArray($request)
{
$someCondition = false;
return [
'id' => $this->id,
'name' => $this->name,
// Email will be included, with `true` will not.
'email' => $this->unless($someCondition, 'email'),
];
}
小数验证规则支持有符号的数字
@Pusparaj 贡献了对小数验证规则的更新,支持有符号的数字(即-5.5,+1.5,等等):
$v = new Validator(
$trans,
['foo' => '-1.234'],
['foo' => 'Decimal:2,3']
);
$this->assertTrue($v->passes());
Artisan服务现在传递PATH变量
Maarten Buis 贡献了通过 php artisan serve 传递 PATH 环境变量,这对于底层代码寻找可执行文件来说可能是必要的。
你可以在 Pull Request #45402 中找到更多细节。
发布说明
你可以在GitHub上看到以下完整的新功能和更新列表以及9.45.0和9.46.0之间的差异。
下面的发布说明直接来自于更新日志:
https://github.com/laravel/framework/compare/v9.45.0...v9.46.0
https://github.com/laravel/framework/blob/c2383f4bb9a2c0e61e46679649fc6db394f12ffd/CHANGELOG.md#v9460---2023-01-03
v9.46.0
已添加
为serve命令添加了Passthrough PATH变量(#45402)。
为 JsonResource 添加了 whenHas (#45376)
在.gitignore中添加了./fleet目录 (#45432)
为JsonResource添加了unless (#45419)
修复了
修正了凭证检查(#45437)。
修正了小数点后的精度问题(#45456,#45492)。
嵌套数组的预知验证不会出现验证错误(#45405)
修正了关于哪个类检查自定义投掷的增量和减量方法的问题(#45444)。
已更改
更新小数验证规则,允许验证有符号的数字(24a48b2)
在Vite中只输出唯一的资产/预装标签(#45404)
优化查询生成器中的whereKey方法(#45453)
删除Model.php中的额外代码以优化性能(#45476)
异常处理程序prepareResponse增加了以前的异常(#45499)
转:
https://laravel-news.com/laravel-9-46-0
相关文章