Laravel 6.0.4 中添加了计划任务事件
发布于 作者: Paul Redmond
Laravel 团队宣布立即发布 Laravel v6.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', [ 'First!', 'This is my comment', ]);
接下来,为 Eloquent 构建器添加了三个新的访问器方法,以便于断言构建器类是否具有全局/本地宏。
$builder->hasMacro($name);$builder->getGlobalMacro($name);$builder->hasGlobalMacro($name);
另一个访问器方法被添加到 BelongsToMany
关系中,以获取枢纽表列。
$example->getPivotColumns();
接下来,为计划任务添加了两个新的事件:ScheduledTaskStarting
和 ScheduledTaskFinished
。您可以在 Pull Request #29888 中了解更多关于这些事件的信息,该请求由我们自己的 Michael Dyrynda 提交。干得好,伙计!
此版本中最后一个新的更新是允许使用 InputArgument
和 InputOption
对象定义命令参数和选项。
// Current style, still supportedprotected function getArguments(){ return [ ['name', InputArgument::REQUIRED, 'the argument\'s description', 'default value'], ];} // New styleprotected function getArguments(){ return [ new InputArgument('name', InputArgument::REQUIRED, 'the argument\'s description', 'default value'), ];}
此功能以向后兼容的方式工作,只是添加了另一种定义参数和选项的替代方式。
您可以在下面查看完整的修复列表,以及 6.0.3 和 6.0.4 之间的完整差异。Laravel 6.0 的完整发布说明可在 GitHub 的 v6 更改日志 中找到。
v6.0.4
添加
- 添加
TestResponse::assertJsonPath()
方法 (#29957) - 添加
hasMacro
\getGlobalMacro
\hasGlobalMacro
方法到Eloquent Builder
(#30008) - 添加
Illuminate\Database\Eloquent\Relations\BelongsToMany::getPivotColumns()
方法 (#30049) - 添加
ScheduledTaskFinished
\ScheduledTaskStarting
事件以指示何时运行计划任务 (#29888) - 允许使用
InputArgument
\InputOption
对象添加命令参数和选项 (#29987)
修复
- 修复
__()
与null
参数一起使用时的问题 (#29967) - 修复在自定义枢纽模型上修改
updated_at
列的问题 (#29970) - 修复
Illuminate\Redis\Limiters\ConcurrencyLimiter
(#30005) - 修复
VerifyCsrfToken
中间件在响应对象是Responsable
接口的实例时的问题 (#29972) - 修复在没有可选精度的情况下创建 Postgresql 列的问题 (#29873)
- 修复在具有特定文件名的多个路径的情况下迁移顺序的问题 (#29996)
- 修复在测试中将
NotFoundHttpException
添加到“允许”异常的问题 (#29975)
更改
- 可以通过
0
/false
禁用加密 (#29985) - 在验证尺寸时允许使用 Symfony 文件实例 (#30009)
- 使用自定义配置创建存储伪造品 (#29999)
- 仅在有条件地存在区域设置的情况下,在
PendingMail
中设置区域设置 (dd1e0a6) - 改进从存根生成类时的按字母顺序排列导入 (#29951)