1. 程式人生 > 實用技巧 >Laravel6.0.4中將新增計劃任務事件的方法步驟

Laravel6.0.4中將新增計劃任務事件的方法步驟

此版本包括計劃任務事件、新的 JSON 斷言方法和所有最新更改。讓我們來看看這個版本中的一些亮點新特性:

首先,在 TestResponse 類中添加了一個 assertJsonPath() 斷言,對於在 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 。 你可以在

Michael Dyrynda 的文章 Pull Request #29888 中學習更多這些事件的相關內容。相信你朋友。

此版本中的最後一個新更新是允許使用 inputargument 和 inputoption 物件定義命令引數和選項:

// 當前樣式,仍受支援
protected function getArguments() 
{
  return [
    ['name', InputArgument::REQUIRED, 'the argument\'s description', 'default value'],
  ];
}

// 新風格
protected function getArguments() 
{
  return [
    new InputArgument('name', InputArgument::REQUIRED, 'the argument\'s description', 'default value'),
  ];
}

這個特性以向後相容的方式工作,只是添加了另一種定義引數和選項的替代方式。

您可以在下面看到修復的完整列表,以及 Github 上 6.0.3 和 6.0.4 之間的全部差異。 Laravel 5.8 的完整發行說明可在 Github v6 changelog 中找到:

Laravel v6.0.4 版本

新增

  • 添加了 TestResponse::assertJsonPath() 方法 (#29957)
  • Eloquent Builder 添加了 hasglobalmacrogetglobalmacrohasglobalmacro 方法 (#30008)
  • 添加了 Illuminate\Database\Eloquent\Relations\BelongsToMany::getPivotColumns() 方法(#30049)
  • 添加了 ScheduledTaskFinished ScheduledTaskStarting 計劃任務執行時發出訊號的事件 (#29888)
  • 允許新增帶有 InputArgument InputOption 物件的命令引數和選項 (#29987)

修復

  • 修復了 __()null 引數 (#29967)
  • 修復了在自定義資料透視模型上修改 updated_at 列的問題 (#29970)
  • 修復了 Illuminate\Redis\Limiters\ConcurrencyLimiter (#30005)
  • 修復了 Responsable 介面的響應物件例項時的 VerifyCsrfToken 中介軟體 (#29972)
  • 修復了 Postgresql 列建立時沒有可選精度的問題 (#29873)
  • 修復了具有特定檔名的多路徑遷移檔案 (#29996)
  • 修復了在測試中向 allowed 異常新增 NotFoundHttpException 的問題(#29975)

變更

  • 使通過 0/false 禁用加密成為可能 (#29985)
  • validate dimensions 中允許 symfony 檔案例項 (#30009)
  • 使用自定義配置建立儲存模擬資料 (#29999)
  • 僅當語言環境有條件地存在時,才在 pendingmail 中設定語言環境 (dd1e0a6)
  • 改進了從根目錄生成類時按字母順序對匯入進行排序 (#29951)

重構

  • 在根目錄中將匯入更改為 Alpha 排序 (#29954, #29958)
  • 儘可能使用輔助函式 (#29959)
  • 提高了 auth.throttle 翻譯的可讀性 (#30011, #30017)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援碼農教程。