Laravel框架運(yùn)行原理-創(chuàng)新互聯(lián)

下文介紹Laravel框架運(yùn)行原理,希望對(duì)大家有幫助。
使用任何框架,如果理解該框架原理,應(yīng)用起來會(huì)更加得心應(yīng)手。
一、生命周期
1. 入口文件:
Laravel框架所有請(qǐng)求入口統(tǒng)一進(jìn)入/public/index.php文件,請(qǐng)求通過Ngxin/Apache指向該文件。
index.php文件是加載其他文件入口,本身代碼不多。index.php文件載入通過Composer生產(chǎn)的自動(dòng)加載配置,然后從bootstrap/app.php獲取應(yīng)用實(shí)例,創(chuàng)建服務(wù)容器。
2.Http/Console內(nèi)核
接上面,請(qǐng)求被發(fā)送到HTTP內(nèi)核或Console內(nèi)核,取決于應(yīng)用請(qǐng)求類型(會(huì)在下篇文章說明)。這兩個(gè)內(nèi)核為所有請(qǐng)求必須經(jīng)過的中央處理器,
下面介紹App\Http\Kernel的HTTP內(nèi)核:
HTTP內(nèi)核 繼承自Illuminate\Foundation\Http\Kernel類,該類定義了一個(gè)bootstrappers數(shù)組,該數(shù)組中的類在請(qǐng)求被執(zhí)行前運(yùn)行,bootstrappers配置了錯(cuò)誤處理、日志、檢測(cè)應(yīng)用環(huán)境、其他在請(qǐng)求被處理前需要處理的任務(wù)。
HTTP內(nèi)核還定義請(qǐng)求處理前需要經(jīng)過HTTP中間件,該中間件處理HTTP會(huì)話的讀寫、判斷應(yīng)用是否處于維護(hù)模式,驗(yàn)證CSRF令牌(防止CSRF攻擊)等。
HTTP內(nèi)核標(biāo)簽方法handle:獲取一個(gè)Request,返回一個(gè)Response,輸入HTTP請(qǐng)求,返回HTTP響應(yīng)。
3.服務(wù)提供者
內(nèi)核啟動(dòng)會(huì)為應(yīng)用載入服務(wù)提供者,服務(wù)提供者都被配置在config/app.php配置文件的providers數(shù)組中。服務(wù)提供者被注冊(cè)后,boot方法被調(diào)用。
服務(wù)提供者負(fù)責(zé)啟動(dòng)框架的所有組件,如數(shù)據(jù)庫(kù)、隊(duì)列、驗(yàn)證器、路由組件等。因他們啟動(dòng)并配置框架提供的所有特性,服務(wù)提供者是整個(gè)Laravel啟動(dòng)過程中最重要部分。
「延遲」提供器:即providers數(shù)組中較多服務(wù)都是提供的實(shí)際服務(wù)需要才會(huì)加載。
4. 分發(fā)請(qǐng)求
一旦應(yīng)用被啟動(dòng)且所有服務(wù)提供者被注冊(cè),Request將會(huì)被交給路由器進(jìn)行分發(fā),路由器將會(huì)分發(fā)請(qǐng)求到路由或控制器,同時(shí)運(yùn)行所有路由指定的中間件。
二、服務(wù)提供者
服務(wù)提供是啟動(dòng)Laravel關(guān)鍵部分,應(yīng)用實(shí)例被創(chuàng)建,服務(wù)提供被注冊(cè),請(qǐng)求被啟動(dòng)后的應(yīng)用進(jìn)行處理。
默認(rèn)存放在app/Providers目錄下。 Laravel框架運(yùn)行原理
《PHP7進(jìn)階到架構(gòu)-Laravel/Redis/Swoole/高并發(fā)分布式【六星教育】》從TP5/Laravel框架內(nèi)核原理,到PHP性能優(yōu)化,到swoole網(wǎng)絡(luò)通信引擎,微服務(wù)架構(gòu),大型商業(yè)企業(yè)項(xiàng)目實(shí)戰(zhàn),從人工智能技術(shù)到高并發(fā)分布式架構(gòu),跟著老師學(xué)習(xí)解決高薪就業(yè)和創(chuàng)業(yè)的問題。

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、藤縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

當(dāng)前標(biāo)題:Laravel框架運(yùn)行原理-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article48/dddsep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、微信公眾號(hào)動(dòng)態(tài)網(wǎng)站、定制開發(fā)網(wǎng)站收錄、品牌網(wǎng)站建設(shè)

廣告

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

成都做網(wǎng)站