Laravel 8.6.0:綜合升級指南

已發表: 2022-01-02

PHP 框架遵循強大的 MVC(模型-視圖-控制器)模式以提高生產力。 它於 2011 年首次發布,從那時起一直在影響市場並穩步增長。 許多人聘請專門的 Laravel 開發人員,因為它具有適用於數字世界的獨特特性和功能。

Laravel 的一些值得注意的特性:

Eloquent 對象關係模型

這種模式允許我們將數據庫表作為一個類來呈現。 這意味著您可以定義一個將綁定到您的數據庫的類。 Eloquent 允許您使用類函數從數據庫中選擇複雜的查詢。

刀片視圖

View 部分包含應用程序中使用的所有 HTML 代碼,這意味著無需將業務邏輯與表示層結合起來。 視圖支持刀片誘人引擎,允許編寫可重用的 HTMS 代碼和通用佈局文件。

控制器

使用控制器,您可以將相關的請求處理邏輯分組到一個類中。

驗證

完成認證機制只需要兩步:

  • php artisan make: auth
  • php工匠遷移

Laravel 與其他實現身份驗證系統的 Web 應用程序不同,它是免費的。

模板引擎

Laravel 具有內置模板,可通過使用動態內容播種來構建佈局。 它有多個帶有 JavaScript 和 CSS 代碼的強大結構的小部件。 Laravel Development Company可以自由地使用獨特的部分創建簡單和復雜的佈局。

安全

Web 應用程序安全性在數字世界中非常重要,每個在線平台都期望其安全。 Laravel 框架對密碼使用加鹽和散列機制,這意味著它永遠不會以純文本形式保存數據。 PHP Web 開發框架使用準備好的 SQL 語句來防止 SQL 注入攻擊,並且還使用 Bcrypt Hashing 算法生成加密密碼。

路由

Laravel 提供了一種簡單的路由機制,並構建了一個存在於一個文件中的列表,使路由易於訪問。 對於支持 API 的更大應用程序,您可以擁有多個文件。 您可以在表單中添加 @csrf 註釋以保護它免受 CSRF(跨站點請求偽造)攻擊。

發行說明

添加

  • Illuminate\Collections\LazyCollection::rakeUntilTimeout()
  • `migrate:fresh` 命令的 `–schema-path` 選項

固定的

  • 變量中的點
  • 修復了關閉計劃任務中的錯誤處理錯誤
  • 修復了維護模式下空的 Retry-After 標頭
  • `mysqldump: 未知變量 'column-statistics=0' 已修復用於 MariaDB 模式轉儲
  • ComponentTagCompiler.php 上不再有雙重轉義

Laravel 8.6.0 有什麼新變化?

模型目錄

Laravel 8 中 app/Models 文件夾將默認包含在內。 即使你不想要 Models 目錄,刪除 app/Models 目錄,那麼 artisan 命令也會直接在 app/ 目錄中添加新的模型。

路由緩存改進

一個大的 PHP 數組包含所有路由的集合,這使平台更高效、更快。 以前,如果路由關閉,則路由緩存將不起作用,但隨著更新,路由緩存在關閉時可以正常工作。

改進的維護模式

PHP artisan down 命令已有改進。 您可以使用秘密並配置平台維護模式,而不是使用 IP 白名單:

php artisan down –secret=SECRET_CODE

添加一個安全字符串來代替 SECRET_CODE 並以您需要訪問的維護模式訪問該站點:

您的域名.com/SECRET_CODE

這會生成一個秘密 cookie,允許您正常瀏覽網站,並提供了一種很好的方式來在維護模式下添加網站,同時通過密碼訪問它。

另一個補充是您可以預渲染維護頁面,即使 Composer 更新運行,最終用戶仍然會看到維護頁面而不是錯誤。

運行以下代碼:

php artisan down –render =” errors::503”

現在您可以運行命令在呈現的頁面中添加秘密並同時更改狀態代碼:

php artisan down –render=”errors::503” –status=200 –secret=SECRET_CODE

速率限制改進

Laravel 8 中的速率限制更加靈活,並且與之前版本的油門中間件 API 兼容。 這使得處理請求更容易,並限制用戶每分鐘發送的請求數量。

模式轉儲

您可以使用 artisan 命令在 database/schema 目錄中生成一個 schema 文件:

php 工匠模式:轉儲

轉儲您當前的數據庫架構並通過以下方式修剪現有的遷移:

php 工匠模式:轉儲 –prune

它將刪除舊的遷移並生成單個模式轉儲文件。

Laravel 噴射流

它是 Laravel 的免費開源應用程序腳手架。 它具有以下組件:

  • 電子郵件驗證
  • 註冊和登錄功能
  • 兩因素身份驗證
  • 接口支持
  • 會話管理

作業批處理

最新的更新允許運行一批作業並在執行一批作業後運行操作。

新登陸頁面

當您在全新安裝中單擊主頁並具有淺色/深色版本時,將顯示該頁面。 它還具有指向 Laravel 的 SaaS 產品和社區站點的鏈接。

控制器命名空間前綴

以前的版本有名為 $namespace 的 RouteServiceProvider.php,它自動用作控制器命名空間的前綴。 此屬性已被刪除,您可以在路由文件中導入控制器類而不會出現任何問題。

可排隊的匿名事件偵聽器

之前你必須使用 ShouldQueue trait 創建事件類和事件偵聽器,但新特性引入了 Laravel 框架中的第一個命名空間函數:

照亮\事件\排隊

您將能夠更快地將閉包基礎作業發送到模型事件回調隊列中。

作業失敗的指數退避

向返回整數數組的作業類添加一個新的 backoff() 方法,以決定作業嘗試失敗時的等待時間。

我們已經討論了 Laravel 8 中的一些功能和更新。您將需要Laravel 開發服務來處理這些功能並改善用戶體驗,並通過新添加的功能使開發人員的任務變得容易。 不要錯過新的更新,與我們一起聘請專門的 Laravel 開發人員