Laravel10新特色一文速覽!

藏色散人
發布: 2023-02-20 19:40:16
轉載
3674 人瀏覽過

Laravel 10現已發布,包括最低要求的PHP v8.1版本、新的Laravel Pennant軟體包、可調用的驗證規則、本地類型聲明等等。

Laravel發布計畫

Laravel 9之前,主要的框架版本每年發布兩次,或大約每六個月發布一次。從Laravel 9開始,核心團隊轉向了年度計劃,並在2022年2月發布了Laravel 9(而不是最初計劃的2021年9月)。

Laravel使用許多由社群驅動的軟體包以及九個Symfony元件來實現框架中的許多功能。 Symfony 6.0預計11月發布。出於這個原因,我們決定延遲Laravel 9.0的發布直到2022年。

透過延遲發布,我們可以將底層的Symfony組件升級到Symfony 6.0,而不必等到2022年9月才能進行此升級。此外,這也更好地為我們未來的發布做好了準備,因為我們每年都是在Symfony發布後的兩個月內進行。

未來,Laravel 將每年發布一個主要版本,包括:

  • Laravel 9: 2022 年2 月8 日發布
  • Laravel 10: 2023年2 月14 日發布
  • Laravel 11: 2024 年第一季發布

Laravel 9 將持續修復漏洞直至2023 年8 月8 日,並持續提供安全修復直至2024 年2 月14 日。

Laravel 10 將提供漏洞修復直至 2024 年 8 月 6 日,並持續提供安全修復直至 2025 年 2 月 14 日。

接下來我們來看看Laravel 10 的一些重大新功能:

Laravel 10 不再支援PHP 8.0

在Laravel 10 中,Laravel框架將不再支援PHP

Laravel Pennant

Laravel Pennant 是 Laravel 團隊創建的一個包,將隨 Laravel 10 一起發布,為您的應用程式提供特性標誌(Feature Flags)。

特性標誌可讓您有信心地逐步推出新的應用程式特性、對新介面設計進行 A/B 測試、補充基於主幹的開發策略等等。

這個軟體包是核心團隊提供的官方軟體包陣容中最新的一個,這意味著我們現在擁有一個構建良好、經過測試的軟體包,為我們提供了一些偉大的功能。

Laravel 的進程層

Laravel 進程服務讓測試和執行 CLI 進程成為一個夢幻般的工作。

use Illuminate\Support\Facades\Process; $result = Process::run('ls -la'); $result->successful(); $result->failed(); $result->exitCode(); $result->output(); $result->errorOutput(); $result->throw(); $result->throwIf($condition);
登入後複製

進程層包含了開箱即用的豐富功能,如:

  • #透過串流的進程方法,在運行前建立一個流程實例
  • 在收到輸出時進行處理
  • 非同步進程
  • 進程池
  • 透過fake()實作豐富的測試功能
  • 防止測試中出現雜亂程序

測試程序從未如此簡單。

Laravel 10 骨架中的本機類型宣告

#在 Laravel 10,應用程式骨架程式碼將有本機類型宣告。這意味著任何由框架產生的使用者區程式碼都會有類型提示和傳回類型。我們的文章討論了圍繞該方法的注意事項,我們認為在未來創建新項目時,你會喜歡上增加的類型。

類型的新增方式可以為Laravel 專案帶來最新的PHP 類型提示功能,而且不會破壞框架層面的後向相容性:

  • 傳回類型
  • 方法參數
  • 盡可能刪除多餘的註解
  • 在閉包參數中允許使用者本機類型
  • 不包含已定義類型的屬性

可呼叫的驗證規則成為預設規則

從Laravel 10 開始,可呼叫的驗證規則現在是預設的規則。當你透過artisan 建立一個新的驗證規則, 以下是你能在預想中得到的結果:

# Laravel 9 创建了一个规则类,实现了 # Illuminate\Contracts\Validation\Rule 接口 artisan make:rule Uppercase # Laravel 9 创建一个可调用和隐性规则的标志 artisan make:rule Uppercase --invokable artisan make:rule Uppercase --invokable --implicit # Laravel 10 默认会创建一个可调用的规则 artisan make:rule Uppercase # Laravel 10 隐性规则 artisan make:rule Uppercase --implicit
登入後複製

測試的設定檔選項

Laravel 10 的一個新功能是--profile選項,這將使你很容易找到你的應用程式中所有緩慢的測試。

Laravel10新特色一文速覽!

--profile選項有助於保留您的快速測試,並協助您修復緩慢的測試,或更好地將它們分組,以便更容易避免一直運行它們。

新字串密碼Helper

Str::password方法可以生成给定长度的安全、随机的密码。密码将由字母、数字、符号和空格组成。默认情况下,密码的长度为32个字符:

use Illuminate\Support\Str; $password = Str::password(); // 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4' $password = Str::password(12); // 'qwuar>#V|i]N'
登入後複製

Laravel 9的弃用

Laravel 9中标记为已弃用的方法在Laravel 10中被删除。我们可以期待发行版升级指南概述所有不推荐的方法、潜在影响评估,以及如何升级到更接近发行版。

以下内容是在撰写本文时, 将Laravel 框架master主分支到9.x分支的对比中发现的一些弃用点:

测试 Laravel 10

如果你现在就想开始测试Laravel 10,你可以通过使用--dev标志将它安装到一个新项目中:

laravel new  --dev
登入後複製

升级到 Laravel 10

最简单的升级方法是利用Laravel变化并且它可以自动地始终保持应用程序的更新,或者根据官方文档升级指南

更多...

你也可以查看官方发布的页面查找可用的最新信息。


原文地址:https://laravel-news.com/laravel-10?new

译文地址:https://learnku.com/laravel/t/75297

以上是Laravel10新特色一文速覽!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!