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
以上就是看看最新发布的laravel8.78有哪些新功能!的详细内容。
