1. 預(yù)備知識 1.1 composer 基本用法 1.1.1 參考文章
composer 基本用法
1.1.2 要求掌握的知識點(diǎn)composer 依賴管理
composer 自動(dòng)加載(關(guān)鍵)
1.2 DIP、IOC、DI、IOC 容器詳情文章
2. Laravel 運(yùn)行機(jī)制剖析 2.1 場景范例:http://laravel.com/test?name=chenxuelong
2.2 運(yùn)行機(jī)制 2.2.1 前提以下路徑都是相對于 Laravel 根目錄而言的.
2.2.1 正文public/index.php:
注冊了 composer 自帶的自動(dòng)加載`
實(shí)例化 IlluminateFoundationApplication 類
設(shè)置了框架路徑
注冊 app 單例(指向 Application)
注冊 IlluminateContainerContainer 單例,指向 Applicaion
注冊基礎(chǔ)服務(wù)提供者
事件服務(wù)提供者(EventServiceProvider)
日志服務(wù)提供者(LogServiceProvider)
路由服務(wù)提供者(RoutingServiceProvider)
注冊核心類的別名
注冊 AppHttpKernel 單例
注冊 AppConsoleKernel 單例
注冊 AppExceptionsHandler 單例
獲取已注冊的 AppHttpKernel 單例
設(shè)置路由中間件組
設(shè)置路由中間件
調(diào)用 IlluminateHttpRequest 的 capture 方法,返回 IlluminateHttpRequest 實(shí)例
調(diào)用 handle 方法,傳入 Request 實(shí)例,并返回響應(yīng)(IlluminateHttp esponse)
啟用 _method 請求參數(shù)來確定預(yù)期的 HTTP 方法
注冊 request 單例
清除已注冊的 request 實(shí)例
啟動(dòng)包裝器(即:載入配置文件中定義的數(shù)據(jù))
載入環(huán)境變量
載入配置文件
異常處理
注冊 Facades
注冊服務(wù)提供者
啟動(dòng)服務(wù)提供者
middleware,核心中間件
middlewareGroups,對應(yīng)類型(web 或 api)的中間件組
routeMiddleware,可選路由中間件(由用戶決定是否啟用,和注入的模型的啟動(dòng)順序由用戶自由調(diào)控)
可選,實(shí)例化 模型
可選:實(shí)例化表單驗(yàn)證類,進(jìn)行驗(yàn)證
控制器
返回視圖
調(diào)用 response 的 send 方法
自定義 response header
結(jié)束客戶端請求,輸出響應(yīng)(詳情查看:fastcgi_finish_request 函數(shù))。其后的輸出將丟失(除非寫進(jìn)日志)
調(diào)用 AppHttpKernel 的 terminate 方法,執(zhí)行程序結(jié)束時(shí)的回調(diào)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25804.html
摘要:持有雞的人是唯一被允許談話的人。這樣可以確保人們互不說話,也有自己的空間。所以當(dāng)作業(yè)第一次啟動(dòng)時(shí),創(chuàng)建一個(gè)互斥,然后每次作業(yè)運(yùn)行時(shí),它檢查互斥是否存在,只有在沒有工作的情況下運(yùn)行。 譯文GitHub https://github.com/yuansir/diving-laravel-zh 原文鏈接 https://divinglaravel.com/task-scheduling/pr...
摘要:所以在這里創(chuàng)建一個(gè)事件的兩個(gè)實(shí)際方法是通過調(diào)用或,第一個(gè)提交一個(gè)的實(shí)例,后者提交來做一些特殊處理。那么會(huì)用表達(dá)式檢查命令是否到期嗎恰恰相反,使用庫來確定命令是否基于當(dāng)前系統(tǒng)時(shí)間相對于我們設(shè)置的時(shí)區(qū)。 譯文GitHub https://github.com/yuansir/diving-laravel-zh 原文鏈接 https://divinglaravel.com/task-sche...
摘要:譯文原文鏈接在啟動(dòng)計(jì)劃任務(wù)的事件的時(shí)候,的進(jìn)度管理器在對象上調(diào)用方法,表示該事件發(fā)生在內(nèi)。在方法里面定義每一個(gè)命令的互斥所以它是事件的表達(dá)式和命令字符串的組合。 譯文GitHub https://github.com/yuansir/diving-laravel-zh 原文鏈接 https://divinglaravel.com/task-scheduling/building-and...
摘要:作者鏈接來源簡書著作權(quán)歸作者所有,本文已獲得作者授權(quán)轉(zhuǎn)載,并對原文進(jìn)行了重新的排版。同時(shí)順手整理個(gè)人對源碼的相關(guān)理解,希望能夠稍微填補(bǔ)學(xué)習(xí)領(lǐng)域的空白。系列文章只會(huì)節(jié)選關(guān)鍵代碼輔以思路講解,請自行配合源碼閱讀。 作者:bromine鏈接:https://www.jianshu.com/p/2f6...來源:簡書著作權(quán)歸作者所有,本文已獲得作者授權(quán)轉(zhuǎn)載,并對原文進(jìn)行了重新的排版。Swoft...
閱讀 2273·2023-04-25 14:50
閱讀 1274·2021-10-13 09:50
閱讀 1874·2019-08-30 15:56
閱讀 1853·2019-08-29 15:29
閱讀 2892·2019-08-29 15:27
閱讀 3570·2019-08-29 15:14
閱讀 1206·2019-08-29 13:01
閱讀 3307·2019-08-26 14:06