Laravel 9.22版本发布
Laravel 团队发布了 9.22,其中包含重新设计的 artisan serve 命令、流畅的文件验证规则构建器等。
让我们来看看最新的 Laravel 9 版本中的所有优点:
Fluent 文件验证规则
Luke Downing贡献了一个 File 验证规则对象,它提供了一个像Password验证规则一样的流畅接口:
// Before
$request->validate([
'file' => ['required', 'file', 'mimes:mp3,wav,aac', 'max:12287'],
'image' => ['required', 'file', 'image', 'min:2048', 'max:12287', Rule::dimensions()->maxWidth(1000)->maxHeight(500)],
]);
// After
$request->validate([
'file' => ['required', File::types(['mp3', 'wav', 'aac'])->smallerThan(12 * 1024)],
'image' => ['required', File::image()->atLeast(2 * 1024)->smallerThan(12 * 1024)->dimensions(Rule::dimensions()->maxWidth(1000)->maxHeight(500))],
]);
Pull Request #43271有更多关于可用方法的详细信息。
此外,验证文档还包含有关使用新的 fluent 规则构建器验证文件的详细信息。
https://laravel.com/docs/9.x/validation#validating-files
改进的Artisan serve command
在新的Look for Artisan之后,Nuno Maduro贡献了一个改进的artisan serve命令:
查看Pull Request #43375以获取有关这些更改的更多屏幕截图和详细信息。
在 MailMessage 中附加一组文件
Delowar Hossain和Tim MacDonald合作开发了attachMany()一种邮件消息方法:
$mailable->attachMany([
'/forge.svg',
'/vapor.svg' => ['as' => 'Vapor Logo.svg', 'mime' => 'text/css'],
new class() implements Attachable
{
public function toMailAttachment()
{
return Attachment::fromPath('/foo.jpg')->as('bar')->withMime('image/png');
}
},
]);
请注意,您也可以attach()多次调用 - 当您想以数组格式将它们附加到一个调用中时,添加此方法是为了方便。
向邮件消息添加条件行
El Shino贡献了有条件地在邮件消息中添加一行的能力:
// With a conditional
$message->line('Your order has been canceled');
if ($this->amount > 0) {
$message->line("The refunded amount is {$this->amount}");
}
// Using lineIf
$message->line('Your order has been canceled')
->lineIf($this->amount > 0, "The refunded amount is {$this->amount}");
支持文件系统中的多种哈希算法
Douglas Medeiros为文件系统中的各种哈希算法提供了支持。您现在可以将哈希算法指定为可选的第二个参数:
File::hash($path)
// 196b0f14eba66e10fba74dbf9e99c22f => default md5
File::hash($path, 'sha256')
// 19c451aedfb24c338a9a2a5c31d553ed77e7cdefc655035f390176ac24066051
哈希算法:
https://www.php.net/manual/en/function.hash-algos.php
发行说明
您可以在下面查看新功能和更新的完整列表以及GitHub 上9.21.0 和 9.22.1之间的差异。以下发行说明直接来自变更日志:
https://github.com/laravel/framework/compare/v9.21.0...v9.22.0
https://github.com/laravel/framework/blob/ae76bf60795117e28e7beb64346bc2011e195c23/CHANGELOG.md#v9221---2022-07-26
v9.22.1
添加
为广播事件添加了唯一锁定 ( #43416 )
修复
修复了 Windows 上的 Artisan serve 命令 ( #43437 )
v9.22.0
添加
添加了在 MailMessage 中附加文件数组的功能 ( #43080 )
向 MailMessage 添加了条件行 ( #43387 )
Illuminate/Filesystem/Filesystem::hash()向( #43407 )添加对多种哈希算法的支持
修复
修复模型:当属性默认值为枚举时显示 ( #43370 )
修复了持续时间为 0 秒的 DynamoDB 锁定 ( #43365 )
修复了覆盖全局语言环境(#43426)
改变了
控制台输出运行时的毫秒数 ( #43400 )
改进了服务工匠命令 ( #43375 )
转:
https://laravel-news.com/laravel-9-22-0
相关文章