Laravel 8.30 发布
发布日期:作者: Paul Redmond
Laravel 团队发布了 8.30 版本,其中包含在第一个验证失败时停止验证的功能、一个新的集合方法、一个新的分钟级速率限制便捷方法以及 8.x 分支的最新更改。
在验证器中停止第一个失败
Taylor Otwell 贡献了在第一个验证器失败时停止验证,而不是继续验证所有字段的功能。
$data = ['foo' => 'bar', 'age' => 30];$validator = Validator::make($data, [ 'foo' => 'required', 'age' => 'required|min:31', 'fizz' => 'required',]); $validator->stopOnFirstFailure();$validator->passes(); // false$validator->errors()->all();// returns ['age' => 'The age must be at least 31'].
新的包含一个项目的集合方法
Joseph Silber 贡献了一个新的集合方法来断言集合是否包含一个项目。 它是用于检查集合是否只有一个项目的语法糖。
// Manually checking the count$collection->count() === 1; collect(['apple'])->containsOneItem(); // truecollect([])->containsOneItem(); // falsecollect(['apple', 'orange'])->containsOneItem(); // false
每分钟速率限制辅助函数
Craig Anderson 贡献了一个新的 perMinutes()
函数到速率限制。 速率限制已经包含一个 perMinute()
方法,但新的复数版本是一个便捷方法来定义,以便提供更细粒度的控制。
use Illuminate\Cache\RateLimiting\Limit; $decayMinutes = 5;$maxAttempts = 100; Limit::perMinutes($decayMinutes, $maxAttempts);
您可以在下面查看完整的全新功能和更新列表,以及 GitHub 上 8.29.0 和 8.30.0 之间的差异。 以下发布说明直接来自 变更日志
v8.30.0
已添加
- 在
DetectsLostConnections
中添加新行 (#36373) - 添加
Illuminate\Cache\RateLimiting\Limit::perMinutes()
(#36352, 86d0a5c) - 使数据库工厂可宏化 (#36380)
- 添加了在验证器中停止第一个失败的功能 (39e1f84)
- 添加了
containsOneItem()
方法到集合 (#36428, 5b7ffc2)