Laravel 7.19 发布
Laravel 团队发布 v7.19.0 版本,新增任务调度频率快捷方法,有条件添加属性到 API 资源和 Stringable 新增when() 方法:
任务调度频率快捷方法
Sjors Ottjes 贡献了这些更加有用的便捷方法:
everyTwoHours()
everyThreeHours()
everyFourHours()
everySixHours()
它们提供了可读性更高的快捷方法,而不是使用cron
:
// Using cron
$schedule->job(SyncSomething::class)->cron('0 */2 * * *');
// Shortcut from this release
$schedule->job(SyncSomething::class)->everyTwoHours();
有条件添加属性到API 资源
Jess Archer 贡献了 whenAppended
方法用于向 API 资源有条件添加属性, 以下是一些案例:
public function toArray($request)
{
return [
'id' => $this->id,
'first' => $this->whenAppended('is_published'),
'second' => $this->whenAppended('is_published', 'override value'),
'third' => $this->whenAppended('is_published', function () {
return 'override value';
}),
'fourth' => $this->whenAppended('is_published', $this->is_published, 'default'),
'fifth' => $this->whenAppended('is_published', $this->is_published, function () {
return 'default';
}),
];
}
// Controller Example
return new UserResource($user->append('is_subscribed'));
定时任务失败事件
Freek Van der Herten 贡献了 ScheduledTaskFailed
事件,该事件将在定时任务失败时触发:
$this->dispatcher->dispatch(new ScheduledTaskFailed($event, $e));
Stringable 类新增 when() 方法
Manojkiran Appathurai 贡献了 Stringable::when()
方法用于在特定条件下执行 “stringable” 代码:
Str::of($blogContent)
->when(! Auth::check(), function ($stringable) {
return $stringable
->limit(20)
->append('To Continue reading ')
->append(new HtmlString(
'<a href="#">Get a Subscription</a>'
));
});
发行日志
您可以在下面看到 新功能和更新的完整列表 以及 7.18.0和7.19.0 之间的区别:
v7.19.0
新增
- 新增
everyTwoHours()
|everyThreeHours()
|everyFourHours()
|everySixHours()
方法到Illuminate\Console\Scheduling\ManagesFrequencies
(#33393) - 有条件添加属性到 API resources (#33422)
- 新增
ScheduledTaskFailed
事件 (#33427) - 新增
Illuminate\Support\Stringable::when()
(#33455)
修复
- 修复带有自定义参数的签名URL (bcb133e)
- 在 Illuminate/Validation/Concerns/ValidatesAttributes.php 中确定正确 的模型 key 名称 (a1fdd53)
- 修复 notifications 数据库通道,用于匿名通知 (#33409)
变更
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: