91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel 8有哪些新特性

發布時間:2021-12-28 16:46:09 來源:億速云 閱讀:174 作者:小新 欄目:大數據

這篇文章主要介紹了Laravel 8有哪些新特性,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Laravel 8 已于昨天正式發布(非 LTS 版本),本次主版本發布引入了 Laravel Jetstream、模型類目錄、模型工廠類、遷移文件壓縮、頻率限制優化、時間測試輔助函數、動態 Blade 組件等新特性。

注:有同學反饋為什么 Laravel 版本發布這么頻繁,那是因為從 Laravel 6 開始引入了新的版本發布周期,具體可參考學院君之前發布的這篇教程:Laravel 6 之后新版本的發布周期介紹。

下面我們一起來速覽下這些新特性:

Laravel Jetstream

Laravel Jetstream 是在之前版本上進行優化和全新設計的 Laravel UI 腳手架代碼:

Laravel 8有哪些新特性  

其中包含了登錄、注冊、郵箱驗證、雙因子認證(2FA)、會話管理、基于 Laravel Sanctum 的 API 支持、以及可選的團隊管理等功能。

Jetstream 使用的 CSS 框架是 Tailwind CSS,并且提供了 Livewire 和 Inertia 腳手架選項,你可以任選其一進行前端組件開發。

 

模型類目錄

Laravel 8 終于在 app 目錄下引入了 Models 子目錄來存放模型類文件,所有通過 make:model 命令生成的模型類以后默認都會存放在這個目錄下;不過,如果你選擇刪除這個目錄,新生成的模型類將仍然存放到 app 目錄下。

 

模型工廠類

從 Laravel 8 開始,Eloquent 模型工廠將基于類進行管理,從而支持不同工廠之間的關聯關系,新的模型工廠調用語法如下所示,相比之前可讀性更好:

use App\Models\User;

User::factory()->count(50)->create();

// 使用工廠類中定義的 "suspended" 關聯方法
User::factory()->count(5)->suspended()->create();
   

遷移文件壓縮

隨著應用功能越來越復雜,需要創建越來越多的數據庫遷移文件,可能多至上百個,管理起來有點麻煩,從 Laravel 8 開始,你可以將它們壓縮到單個 SQL 文件中,該 SQL 文件會在運行遷移命令之前執行,然后再執行其他未壓縮的遷移文件。該功能可以有效降低遷移文件的數量,并且在測試時提升性能。

 

優化訪問頻率

Laravel 8 優化了之前已經存在的訪問頻率限制功能 —— 支持向后兼容 throttle 中間件,并且提供了更高的靈活性。Laravel 8 引入了一個可以通過門面定義的訪問頻率限制器:

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Support\Facades\RateLimiter;

RateLimiter::for('global', function (Request $request) {
    return Limit::perMinute(1000);
});
 

正如你所看到的,for 方法中持有 HTTP 請求示例,因此你可以完全動態控制請求頻率。

 

時間測試輔助函數

在 Laravel 中,一直都可以通過 PHP Carbon 庫完全控制時間的修改,Laravel 8 則在此基礎上往前更進一步 —— 在測試時使用一個更加方便的輔助函數來操作時間:

// 穿越到未來...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();

// 穿越到過去...
$this->travel(-5)->hours();

// 穿越到指定時間...
$this->travelTo(now()->subHours(6));

// 回到現在...
$this->travelBack();
 

使用這些方法時,時間會在每個測試之間重置。

 

動態 Blade 組件

有時候你可能需要在運行時動態渲染 Blade 組件,Laravel 8 提供了一個 <x-dynamic-component/> 組件來實現這個功能:

<x-dynamic-component :component="$componentName" class="mt-4" />

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Laravel 8有哪些新特性”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌平区| 平度市| 太康县| 铁岭县| 贵州省| 张家口市| 林甸县| 陵川县| 东乌珠穆沁旗| 芦溪县| 山西省| 紫金县| 普兰店市| 红原县| 福建省| 雷山县| 沅江市| 宝坻区| 义乌市| 城口县| 香港| 禹州市| 贺兰县| 瑞金市| 河南省| 万州区| 任丘市| 玛纳斯县| 昌黎县| 万全县| 镇远县| 洪雅县| 兰溪市| 资讯| 绍兴市| 长武县| 修文县| 海伦市| 房产| 新昌县| 城固县|