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()
輔助函數
。