Laravel 7.19 发布

Laravel

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)

变更

  • 改善 SQL Server 上次插入ID的检索 (#33430de1d159)
  • 如果 Str::endsWith 的两个参数均为空则返回 false (#33434)
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-7-19-0

译文地址:https://learnku.com/laravel/t/47033

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!