下面由Laravel教程栏目给大家介绍最新发布的Laravel 8.78有哪些新功能 ,希望对大家有所帮助!
Laravel 团队发布了 8.78,能够向默认密码验证添加自定义规则、mergeIfMissing() 请求方法、断言测试中的批次计数,以及 v8.x 分支中的最新更改。
定义额外的默认密码验证规则
Ash Allen 贡献了定义自定义验证规则,这些规则将使用 rules()
方法作为默认密码规则的一部分运行:
Password::defaults(function () { return Password::min(8) ->symbols() ->mixedCase() ->uncompromised() ->rules(new ZxcvbnRule()); });
rules()
方法接受单个规则、规则数组或闭包验证规则的闭包。
如果缺失合并请求数据
David Peach 提供了一个mergeIfMissing()
HTTP 请求方法,如果请求中缺少键,该方法会将新输入合并到请求的输入中。
例如,如果您未选中表单复选框,则不会将其发送到服务器。您可能必须编写如下内容:
if ($request->missing('boolean_setting')) { $request->merge(['boolean_setting' => 0]); }
现在,您可以定义在参数缺少时与请求合并的值:
$request->mergeIfMissing(['boolean_setting' => 0])
断言批次数
@Chrysanthos 为 Bus facade 贡献了一个 assertBatchCount()
方法,该方法断言已经调度了多少批次:
Bus::assertBatchCount(3);
HTML 字符串方法
Lars Klopstra 为 Str 和 Stringable 贡献了一个toHtmlString()
方法:
// 之前 new HtmlString(Str::of($content)->markdown()); // 现在 Str::of($content) ->markdown() ->html();
发行说明
您可以在 GitHub 上面查看新功能和更新的完整列表以及 8.77.0 和 8.78.0 之间的差异。 以下发行说明直接来自 changelog:
v8.78.0
新增
- 新增
schedule:clear-mutex
命令 (#40135) - 新增了自定密码验证规则的功能 (#40137)
- 在 Illumbize Http 请求类中添加了一个
mergeIfMissing
方法 (#40116) - 新增
Illuminate/Support/MultipleInstanceManager
(40913ac) - 新增
SimpleMessage::lines()
(#40147) - 新增
Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount()
(#40217) - 使用广播驱动程序时仅启用
only-to-others
功能 (#40234) - 增加了在 JsonResource 响应上自定义 json 选项的功能 (#40208)
- 新增
Illuminate/Support/Stringable::toHtmlString()
(#40247)
更改
- 改进对自定义列类型的支持 (#40119)
- 删除控制台应用程序类中的无用检查 (#40145)
- 当排序操作的第一个元素是字符串时(即使是可调用的),按键对集合进行排序 (#40212)
- 如果有多个主机,请使用第一个主机
Illuminate/Database/Console/DbCommand::getConnection()
(#40226) - 反射器类的改进 (#40241)
修复
- 调用 Http::fake() 时清除记录 (#40194)
- 修复属性转换 (#40245, c0d9735)
原文地址:https://laravel-news.com/laravel-8-78-0
译文地址:https://learnku.com/laravel/t/64574