Laravel團隊在這週發布了 9.37 版本並且同時在 9.37 與 Laravel 9.36 之間發布了一些補丁。本週得發布添加了對使用 Vite 預加載資源的支持,新的嚴格違規處理程序,CLI輸出詳細的視圖緩存,以及更多。
Verbose 視圖快取
Andrew Brown 貢獻了在 view:cache
指令中傳遞-v
的功能,以輸出命令正在尋找的目錄,以及透過-vv
來查看命令快取中的每個檔案。 【相關推薦:laravel影片教學】
php artisan view:cache -vv
這是一個例子,你會看到新安裝的Laravel 9.37 的情況:
#處理靜默丟棄與屬性遺失的方法
Aaron Francis 提供了為「靜默丟棄」和「缺少屬性」嚴格模式衝突註冊處理程序的功能:
Model::handleMissingAttributeViolationUsing( function ($model, $key) { // ... });Model::handleDiscardedAttributeViolationUsing( function ($model, $keys) { // ... });
傳遞救援報告參數的閉包
@foremtehan 貢獻了在使用rescue()
時將可呼叫物件作為$report
參數傳遞,以便你可以根據傳回的布林值有條件地報告錯誤:
rescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){ return $e instanceof SomeException;});
支援使用Vite 預載入資源
Tim MacDonald 使用Vite 預先載入目前頁面所需的資源。現在它是使用 Vite 的 Laravel 應用程式的預設行為。它如何運作的細節非常複雜,我建議閱讀Pull Request #44096. 此外,你還可以了解有關背後的一般概念的更多信息預加載關鍵資源以提高加載速度.
##查詢建構器RawValue方法
@eusonlito 貢獻了rawValue() 方法,支援使用SQL表達式來取得值。以下是一些使用範例:
$first = TripModel::orderBy('date_at', 'ASC') ->rawValue('YEAR(`date_at`)');$last = TripModel::orderBy('date_at', 'DESC') ->rawValue('YEAR(`date_at`)');$fullname = UserModel::where('id', $id) ->rawValue('CONCAT(`first_name`, " ", `last_name`)');
#發行說明
#您可以在下方查看新功能和更新的完整列表,以及9.36.0和9.37.0之間的差異。以下發行說明來自changelog:v9.37.0
(#44703)
加入用於靜默丟棄和缺少屬性衝突的處理程序(#44664)
#恢復######################################################################################################### ##恢復「允許在沒有id 的模型上使用MustVerifyEmail 作為主key」 (#44672)##############更改########複製請求時創建新的Json 參數套件實例(#44671)######防止在執行env:decrypt 時啟動提供者(#44654)##################v9. 36.3######Illuminate/Database/Eloquent/Model::offsetExists()
(#44642)v9.36.2
#v9.36.1
原文網址:https://laravel-news.com/laravel-9-37 -0翻譯網址:https://learnku.com/laravel/t/72839
以上是最新的Laravel 9.37發布了,帶來這些新變化!的詳細內容。更多資訊請關注PHP中文網其他相關文章!