真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Laravel8有哪些新特性

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

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

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

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

下面我們一起來(lái)速覽下這些新特性:

Laravel Jetstream

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

Laravel 8有哪些新特性  

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

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

 

模型類(lèi)目錄

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

 

模型工廠(chǎng)類(lèi)

從 Laravel 8 開(kāi)始,Eloquent 模型工廠(chǎng)將基于類(lèi)進(jìn)行管理,從而支持不同工廠(chǎng)之間的關(guān)聯(lián)關(guān)系,新的模型工廠(chǎng)調(diào)用語(yǔ)法如下所示,相比之前可讀性更好:

use App\Models\User;

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

// 使用工廠(chǎng)類(lèi)中定義的 "suspended" 關(guān)聯(lián)方法
User::factory()->count(5)->suspended()->create();
   

遷移文件壓縮

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

 

優(yōu)化訪(fǎng)問(wèn)頻率

Laravel 8 優(yōu)化了之前已經(jīng)存在的訪(fǎng)問(wèn)頻率限制功能 —— 支持向后兼容 throttle 中間件,并且提供了更高的靈活性。Laravel 8 引入了一個(gè)可以通過(guò)門(mén)面定義的訪(fǎng)問(wèn)頻率限制器:

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

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

正如你所看到的,for 方法中持有 HTTP 請(qǐng)求示例,因此你可以完全動(dòng)態(tài)控制請(qǐng)求頻率。

 

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

在 Laravel 中,一直都可以通過(guò) PHP Carbon 庫(kù)完全控制時(shí)間的修改,Laravel 8 則在此基礎(chǔ)上往前更進(jìn)一步 —— 在測(cè)試時(shí)使用一個(gè)更加方便的輔助函數(shù)來(lái)操作時(shí)間:

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

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

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

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

使用這些方法時(shí),時(shí)間會(huì)在每個(gè)測(cè)試之間重置。

 

動(dòng)態(tài) Blade 組件

有時(shí)候你可能需要在運(yùn)行時(shí)動(dòng)態(tài)渲染 Blade 組件,Laravel 8 提供了一個(gè) 組件來(lái)實(shí)現(xiàn)這個(gè)功能:

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


分享文章:Laravel8有哪些新特性
網(wǎng)站URL:http://weahome.cn/article/gsjjjc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部