一起來看看Laravel 11都有哪些新功能和改進

Laravel 11新功能和改進

Laravel 是一個領先的 PHP 框架,以其優雅的語法、強大的功能和對開發人員友好的工具而聞名。它的架構支援有效的 PHP 網路開發,幫助您構建可擴充套件、可維護的應用程式。

Laravel 11 引入了多項變革性功能,提高了開發人員的工作效率,增強了應用程式的效能。從簡化配置和除錯到提高靈活性,這個版本提高了開發效率,幫助你構建更強大的應用程式。讓我們深入瞭解一下!

Laravel 11 中重新設計的目錄結構

Laravel 11 採用了重新設計的目錄結構,提高了開發效率。這一改動簡化了專案檔案的組織,並減少了以前 Laravel 版本中的模板程式碼。

刪除了某些目錄,如 app/Exceptionsapp/Http/Middleware,使 Laravel 11 的結構比以前的版本更加簡潔。例如,早期版本包含九個中介軟體,其中許多你不太可能定製。去掉這個目錄,可以最大限度地減少程式碼的冗餘,讓你專注於程式碼庫的重要方面。如果需要定製中介軟體,可以通過 App/ServiceProvider 來實現。

Laravel 11 還刪除了 config 資料夾,從而改變了管理配置的方式。我們將在後面的章節討論這一變化。

Laravel 新目錄結構的優點包括:

  • 程式碼可重用性 – 減少了模板程式碼,您就可以專注於建立模組化和可重用的元件。這種在整個應用程式中重複使用通用功能的能力可提高開發流程的效率。
  • 改善知識共享 – 不那麼複雜的目錄結構有利於團隊成員和技術人員之間的知識共享。更簡單的產品結構導航使協作更順暢、更有效。
  • 減少編碼時間 – 消除不必要的目錄和檔案意味著開發人員減少了處理不必要的模板程式碼的時間。更快的編碼、除錯和測試提高了工作效率。

精簡的目錄結構提供了完善的開發流程,並能更快地實現特性和功能。

增強模型轉換的靈活性

Laravel 11 正在向基於方法的模型轉換過渡,從而改變了在 Laravel Eloquent 模型中處理屬性的方式。

在舊版本的 Laravel 中,你可以使用 properties 陣列來定義屬性。在 Laravel 11 中,你可以在一個名為 casts() 的方法中指定模型的屬性。

向基於方法的模型轉換提供了幾個與程式碼方法或函式類似的優點。其中最重要的一點是程式碼的可重用性。在方法中包含鑄模邏輯可以使程式碼更加模組化和可重用。此外,由於 casts() 方法對屬性轉換進行了劃分,因此程式碼的可讀性和可維護性都得到了提高。

同樣重要的是,Laravel 11 確保了與以前版本的向後相容性。因此,你可以將現有程式碼無縫過渡到使用 Laravel 11 更新的模型鑄造方法。這種相容性使得采用 Laravel 11 成為一個順利的過程–尤其是當你已經熟悉了它的早期迭代版本時。

簡化配置

如前所述,Laravel 11 帶來了配置管理方面的轉變。它將配置設定整合到了一個單獨的檔案中:.env 檔案。這與之前的 Laravel 版本明顯不同,之前的版本將配置分散在多個檔案中。

將配置只放在 .env 檔案中,大大提高了組織性。它還簡化了開發工作流程,使之更直觀、更高效。

另一個與配置相關的重要更新是級聯功能,通過該功能,您可以刪除不想自定義的不必要選項,從而對配置進行微調。這樣,開發工作就更加緊湊了。

單個 .env 檔案無需多個檔案,而是將所有相關配置儲存在一個地方。不過,如果你覺得 .env 檔案太大,可以使用命令將配置檔案返回 config 目錄。例如,php artisan config:publish auth 會在 config 目錄中生成 auth.php 檔案。

檢索特定配置的能力是企業的一大福音。

利用新的 Dumpable 特性完善除錯體驗

Dumpable 特質是 Laravel 11 的重要補充。它能讓你在類中使用熟悉的除錯輔助工具,包括 dd()dump() 方法。這些方法在除錯過程中非常有用,因為它們提供了關於目標物件或變數的實時見解。

請注意,Dumpable 特質很可能會取代 Laravel 核心類中現有的 dddump 方法,從而確保整個框架具有一致、連貫的除錯體驗。

Laravel 11 的路由處理創新

Laravel 11 通過合併路由處理大大改進了早期版本。它將預設路由檔案的數量從四個減少到兩個:routes.phpconsole.php。這一變化影響深遠,因為它最大限度地減少了模板程式碼,使框架更加直觀。

需要注意的是,如果你想在應用程式中加入 API 路由,這一改動意味著你必須特意選擇加入。這種機制支援更簡潔、更量身定製的應用程式結構,只在必要時才包含 API 路由。要生成 api.php 檔案並整合 Laravel Sanctum,請執行 php artisan install:api 命令。

Laravel 11 中的事件廣播也遵循類似的模式。要啟用功能並建立 channels.php 檔案,執行 &php artisan install:broadcasting 命令。這將協調重要檔案和配置的設定,加速將事件廣播整合到 Laravel 應用程式中。

總之,這些變化支援向模組化和可定製的應用結構轉變。因為你可以選擇特定的功能,Laravel 11 提供了比以前版本更量身定製的路由檔案管理方法。

Laravel HTTP 核心的演變

Laravel 核心是框架的重要組成部分,是 HTTP 請求和終端命令的入口。它負責協調這些請求的流程,管理中介軟體棧、路由和其他有助於應用程式處理傳入請求的重要元件。

Laravel 11 刪除了 Laravel 核心。取而代之的是 Bootstrap/App 類,它將基本介面繫結到容器中。設定好必要的元件後,Bootstrap/App 類返回應用程式例項。這種將例項構建與應用程式執行和響應處理分離開來的做法,提供了一種更模組化的架構。

移除 Laravel 核心是減少模板程式碼的又一舉措。由於 Bootstrap/App 類負責基本設定,因此您可以專注於構建應用程式的核心功能。一旦應用程式例項執行,Bootstrap/App 類就會確保必要的網路請求處理,從而簡化開發過程,促進程式碼庫的有序化。

整合預設遷移以提高效率

Laravel 11 對預設遷移進行了全面調整。從 2014 年到 2019 年的舊版本中,大量預設遷移分佈在多個檔案中。與此同時,最新版本將這些檔案壓縮為兩個,為開發人員提供了更有條理、更友好的使用者體驗。

預設遷移檔案的減少簡化了對生成遷移的訪問和管理,提高了資料庫結構的清晰度,並減少了潛在的混亂和錯誤。

此外,有了更簡潔明瞭的預設遷移設定,你就可以分配更多時間,專注於專案的具體要求,而不是處理複雜的模板遷移檔案。

Laravel 11 經過優化的預設遷移功能有助於帶來更順暢的開發體驗,鞏固了該框架以簡潔易用著稱的聲譽。

PHP 8.2:Laravel 11 的新標準

Laravel 11 的另一個重要變化是將 PHP 8.2 設定為最低要求。在 Laravel 11 中,PHP 8.2 是預設設定,PHP 8.3 也即將推出。與 PHP 生態系統的最新進展保持一致,可確保 Laravel 與 PHP 最新(以及即將推出)的語言功能和優化保持相容。

通過支援最近兩個主要的 PHP 版本,Laravel 11 增強了效能、安全性和開發者體驗。將 PHP 8.2 作為最低要求,可確保您的專案面向未來,並釋放語言的全部潛能。

小結

Laravel 11 引入了重大更新,有望為您、您的團隊和更廣泛的開發者社羣提升開發體驗。改進的效能優化、對最新 PHP 版本的增強支援以及簡化的工作流程功能,使 PHP 開發儘可能順暢高效。

這些改進將轉化為更順暢的開發工作流程、更好的應用程式效能以及更高效的整體開發流程。

評論留言