[翻譯]看看即將到來的 Laravel 10

sanders發表於2023-01-03

原文地址:laravel-news.com/laravel-10 翻譯於2023年1月3日

Laravel v10 是 Laravel 的下一個主要版本,計劃於2023年的2月7日釋出。這篇文章將概述所有我們所知道的新特性和變化。

我希望你在接下來的幾周裡回顧這篇文章,我們將持續審視加入到 Laravel 10 的內容,並2月份釋出之前更新本文。

Laravel 10 釋出日

Laravel 9 以前,主要框架版本按照一年兩次或大概每六個月一次的頻率釋出。從 Laravel 9 開始,核心團隊制定了年度計劃,在2022年2月(而非原計劃於2021年9月)釋出了 Laravel 9:

Laravel 使用了很多優秀的社群驅動的擴充套件包來實現框架特性,比如 Symfony 的9個元件。Symfony 6.0 已經在11月份釋出。因此,我們選擇將 Laravel 9.0 的釋出延期到 2022年
由於延期釋出,我們可以升級基於 Symfony 元件升級到 Symfony 6.0,而無需等到2022年9月才執行升級。另一方面,這更好的為之後的年度釋出做好了準備,因為我們的釋出總是在 Symfony 釋出之後的兩個月後進行。

本計劃每年主要版本釋出安排如下:

  • Laravel 9 :2022年2月8日
  • Laravel 10 :2023年2月7日
  • Laravel 11 :2024年2月6日

Laravel 9 將在 2023年8月8日 前持續解決 bug,並且將在 2024年2月6日 前解決安全問題
Laravel 10 將在 2024年8月6日 前持續解決 bug,並且將在 2025年2月4日 前解決安全問題

Laravel 10 將不再相容 PHP 8.0

Laravel 框架將在 Laravel 10 中不再相容 PHP <=v8.0 版本。最低需求版本將是 PHP ^8.1。檢視 在master到9.x之間比較,我們可以期盼著 8.1 的特性 在框架中的使用,比如只讀屬性。

在 Laravel 10 結構程式碼中使用內建型別宣告

在 Laravel 10,框架生成的結構程式碼將擁有內建型別宣告。這意味著使用者透過框架建立任何類都將具有型別提示和返回型別。我們的文章圍繞著這些注意事項進行了討論,並且我們認為你會喜歡上在新的專案裡新增型別。

型別新增方式可以在 Laravel 專案中使用最新的 PHP 型別提醒特性,而不會在框架級別破壞向後相容性。

  • 返回型別
  • 方法引數
  • 儘可能的刪除多餘的註解
  • 允許使用者在閉包引數中使用內建型別
  • 不包括型別化的屬性

建立可執行的驗證規則設為為預設的

在 Laravel 10,可執行的驗證規則 現在為預設的。當你透過 artisan 建立一個新的規則,你可以這樣預期:

# 在 Laravel 9 建立一個實現了 Illuminate\Contracts\Validation\Rule 介面的
# 規則類
artisan make:rule Uppercase

# 在 Laravel 9 建立一個標註為 可執行和隱式呼叫的規則
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit

# 在 Laravel 10 預設建立的規則類即可執行
artisan make:rule Uppercase

# 在 Laravel 10 中的隱式呼叫規則
artisan make:rule Uppercase --implicit

從 Laravel 9 中棄用的特性

Lavavel 9 中的一些被標註為棄用的方法,將在 Laravel 10 中被移除。我們希望釋出升級指引概覽出所有棄用的方法,評估潛在的影響,並決定如何更新最近釋出的版本。

這裡有一些在 Laravel 框架 master 分支到 9.x 分支之間棄用的 相容 特性,根據時間列出:

刪除各種棄用 Pull Request #41136
刪除棄用的日期屬性 Pull Request #42587
刪除 handleDeprecation 方法 Pull Request #42590
刪除 assertTimesSent 方法 Pull Request #42592
刪除 ScheduleListCommand$defaultName 屬性 419471e
刪除棄用的 Route::home 方法 Pull Request #42614
刪除棄用的 dispatchNow Pull Request #42591

還有更多…

Laravel 10 還在幾個月之後,更多新的特性和通告將陸續到來。我們將在這些宣佈後更新這篇文章。你也可以檢視 官方釋出頁面 來找到可看到的更新資訊。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章