Laravel 9 正式釋出

2022-02-09 09:00:26

Laravel 9 正式版,新功能包括:使用 PHP v8.0、控制器路由組、新的預設 Ignition 錯誤頁面、Laravel Scout 資料庫引擎、整合 Symfony Mailer、Flysystem 3.x、改進的 Eloquent 存取器/修改器,以及更多功能。

全新的首頁設計

釋出公告顯示,Laravel 9 是下一個長期支援版本 (LTS),在 2024 年 2 月之前都會接收到錯誤修復,在 2025 年 2 月之前則是安全修復。此外,從 Laravel 9 開始,Laravel 的釋出週期也有所改變:大約每十二個月釋出一個新的主要版本,而不是之前的六個月。原因如下:

Laravel 使用了許多由社群驅動的工具包以及九個 Symfony 元件來實現框架內的許多功能。Symfony 6.0 將於 11 月釋出。出於這個原因,我們選擇將 Laravel 9.0 的釋出推遲到 2022 年。

通過延遲釋出,我們可以將我們的底層 Symfony 元件升級到 Symfony 6.0,而不必被迫等到 2022 年 9 月才能執行此升級。此外,這也更好地為我們未來的釋出做好了準備,因為我們的年度釋出總是在 Symfony 釋出後兩個月進行。

Laravel 9 主要新功能:

  • 使用的 PHP 版本最低要求是 PHP 8
  • 為 routes:list 引入新設計
  • 新增 --coverage 測試選項,可直接在終端顯示覆蓋率
  • 預設使用匿名存根遷移 (Anonymous Stub Migrations)
  • 新的查詢器構建介面
  • 支援 PHP 8 字串函數
  • 將郵件功能從 SwiftMailer 遷移至 Symfony Mailer
  • Flysystem 3.x
  • 優化 Eloquent 存取器/修改器
  • 使用 Enums (PHP 8.1) 的隱式路由繫結
  • 控制器路由組
  • Enum Eloquent 屬性轉換
  • 強制範圍繫結
  • Laravel Breeze API & Next.js
  • Laravel Scout 資料庫引擎
  • 全文索引 / Where 子句
  • 渲染內聯 Blade 模板
  • Soketi Echo 伺服器
  • 可選的 Bootstrap 5 分頁檢視
  • 新的 str() 和 to_route() 輔助函數

展開閱讀全文