文章转发自专业的Laravel开发者社区,原文链接:https://learnku.com/laravel/t...Laravel团队宣布Laravelv6.0.4即将发布。此版本包括计划任务事件、新的JSON断言方法和所有最近的更改。让我们来看看这个版本中一些突出的新特性:首先,一个assertJsonPath()断言被添加到TestResponse类中,这对于使用点表示法针对嵌套属性断言JSON响应中的值很方便:$this->getJson(route('api.post.show',[$post->id]))->assertJsonPath('tags',[])->assertJsonPath('comments.0.user.username','ecrmnn')->assertJsonPath('comments.*.body',['第一!','这是我的评论',]);然后,不管生成器类是否有全局/局部宏,为了方便断言,Eloquentbuilder增加了三个新的访问方法:$builder->hasMacro($name);$builder->getGlobalMacro($name);$builder->hasGlobalMacro($name);在BelongsToMany关联中添加另一种访问方法来获取中间表的列:$example->getPivotColumns();接下来,为定时任务准备两个事件:ScheduledTaskStarting和ScheduledTaskFinished。您可以在MichaelDyrynda的PullRequest#29888中了解有关这些事件的更多信息。相信你的朋友。此版本中的最后一个新更新是允许使用inputargument和inputoption对象定义命令参数和选项://当前样式,仍然支持protectedfunctiongetArguments(){return[['name',InputArgument::REQUIRED,'theargument\'sdescription','defaultvalue'],];}//newstyleprotectedfunctiongetArguments(){return[newInputArgument('name',InputArgument::REQUIRED,'参数的描述','默认值'),];}此功能以向后兼容的方式工作,它只是添加了另一种定义参数和选项的替代方式。您可以在下面查看完整的修复列表,以及Github上6.0.3和6.0.4之间的完整差异。Laravel5.8的完整发行说明可以在Githubv6更新日志中找到:Laravelv6.0.4添加了TestResponse::assertJsonPath()方法(#29957)添加了hasglobalmacro、getglobalmacro、hasglobalmacro方法到EloquentBuilder(#30008)添加了Illuminate\Database\Eloquent\Relations\BelongsToMany::getPivotColumns()方法(#30049)添加了ScheduledTaskFinishedScheduledTaskStarting事件,当计划任务运行时发出信号(#29888)允许使用InputArgumentInputOption对象添加命令参数和选项(#29987)固定__()和null参数(#29967)修复了在自定义数据透视模型上修改updated_at列(#29970)修复了Illuminate\Redis\Limiters\ConcurrencyLimiter(#30005)修复了响应对象实例上的Responsable接口VerifyCsrfToken中间件(#29972)修复了没有可选精度的Postgresql列创建(#29873)修复了具有特定文件名的多路径迁移文件(#29996)修复了添加到允许的例外添加的NotFoundHttpException(#29975)更改为通过0/false启用禁用加密(#29985)允许验证维度中的symfony文件实例(#30009)使用自定义配置创建存储模拟数据(#29999)仅当区域设置有条件存在时才在待处理邮件中设置区域设置(dd1e0a6)改进排序从根目录生成类时按字母顺序导入(#29951)重构将导入更改为根目录中的alpha排序(#29954、#29958)尽可能使用辅助函数改进auth.throttle(#29959)翻译的可读性(#30011、#30017)
