欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Laravel8有哪些新特性

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

創(chuàng)新互聯(lián)建站是專業(yè)的彌勒網(wǎng)站建設公司,彌勒接單;提供網(wǎng)站設計、網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行彌勒網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

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

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

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

Laravel Jetstream

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

Laravel 8有哪些新特性  

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

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

 

模型類目錄

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

 

模型工廠類

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

use App\Models\User;

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

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

遷移文件壓縮

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

 

優(yōu)化訪問頻率

Laravel 8 優(yōu)化了之前已經(jīng)存在的訪問頻率限制功能 —— 支持向后兼容 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 請求示例,因此你可以完全動態(tài)控制請求頻率。

 

時間測試輔助函數(shù)

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

// 穿越到未來...
$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));

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

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

 

動態(tài) Blade 組件

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

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Laravel 8有哪些新特性”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!

文章標題:Laravel8有哪些新特性
標題網(wǎng)址:http://www.chinadenli.net/article22/gsjjjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)做網(wǎng)站用戶體驗定制開發(fā)App設計網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)