【Laravel—核心源碼解析】(一)入口文件index.php

前言

Larave作為近年來最流行的PHP框架之一并思,在目前的工作中也是使用比較頻繁的框架,功能十分全面语稠∷伪耍框架底層封裝思想先進(jìn),使用了很多PHP的新特性仙畦,以核心的服務(wù)容器展開输涕,對服務(wù)進(jìn)行啟動注冊,使用時注入慨畸,進(jìn)行解耦莱坎,注重代碼的組件化和可擴(kuò)展性,提供門面(外觀)模式在開發(fā)時能夠更優(yōu)雅的調(diào)用所需服務(wù)寸士。是一款很值得研究的PHP框架檐什,在源碼學(xué)習(xí)的過程中還是有遇到不少難題碴卧,這個系列文章就通過自己的學(xué)習(xí)積累,記錄下要點(diǎn)乃正,方便進(jìn)行后續(xù)回顧住册;

其它

材料:Laravel6.0
安裝:Composer 使用Composer安裝Laravel

Laravel框架的功能點(diǎn)很多,這個系列的文章還是針對核心流程源碼的解析進(jìn)行記錄烫葬,僅推薦對Laravel常規(guī)使用已經(jīng)了解但需探索源碼的朋友進(jìn)行觀看界弧。因?yàn)榭蚣茉创a跳動性比較大,所以核心源碼解析系列進(jìn)行大流程上的注釋描述搭综,一些重要且頻繁使用的功能會單獨(dú)寫文章進(jìn)行具體描述垢箕。如果錯誤煩請留言區(qū)糾正;

正文

首先先了解框架的重要思想:依賴注入、控制反轉(zhuǎn)、服務(wù)容器牙寞、服務(wù)提供者
其次再了解服務(wù)容器常用方法:服務(wù)容器綁定篇拦止、服務(wù)容器解析篇

Laravel的入口文件index.php默認(rèn)是放在根目錄中的public目錄下,下面直接貼源碼(這里及后續(xù)附上的都是刪除官方注釋壁顶,以及非主要流程后的源碼)以注釋的方式進(jìn)行概述,具體的功能會再后續(xù)的文章中進(jìn)行詳細(xì)描述

//設(shè)置框架啟動時間(Unix 時間戳)
define('LARAVEL_START', microtime(true));
//引入Composer注冊自動加載程序, Laravel的自動類文件自動加載等功能都是通過Composer來實(shí)現(xiàn)的
require __DIR__.'/../vendor/autoload.php';

對應(yīng)解析->Composer注冊自動加載

//引入核心應(yīng)用類, 主要是實(shí)現(xiàn)核心類庫加載以及Laravel框架中核心的服務(wù)容器注冊加載等
$app = require_once __DIR__.'/../bootstrap/app.php';

對應(yīng)解析->核心應(yīng)用容器類Application

//獲取在app.php中已經(jīng)注冊的Kernel
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

//TODO 停更一段時間

//容器中綁定的Kernel是App\Http下的,該類繼承了Illuminate\Foundation\Http下的Kernel修档,這里調(diào)用的就是父類的handle方法
//主要實(shí)現(xiàn)的功能是通過管道實(shí)現(xiàn)中間件及路由分發(fā)執(zhí)行
$response = $kernel->handle(
    //創(chuàng)建request實(shí)例
    $request = Illuminate\Http\Request::capture()
);
//響應(yīng)請求
$response->send();
//響應(yīng)中間件
$kernel->terminate($request, $response);

END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市府框,隨后出現(xiàn)的幾起案子吱窝,更是在濱河造成了極大的恐慌,老刑警劉巖迫靖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件院峡,死亡現(xiàn)場離奇詭異,居然都是意外死亡系宜,警方通過查閱死者的電腦和手機(jī)照激,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盹牧,“玉大人俩垃,你說我怎么就攤上這事√ⅲ” “怎么了吆寨?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踩寇。 經(jīng)常有香客問我啄清,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任辣卒,我火速辦了婚禮掷贾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荣茫。我一直安慰自己想帅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布啡莉。 她就那樣靜靜地躺著港准,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咧欣。 梳的紋絲不亂的頭發(fā)上浅缸,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機(jī)與錄音魄咕,去河邊找鬼衩椒。 笑死,一個胖子當(dāng)著我的面吹牛哮兰,可吹牛的內(nèi)容都是我干的毛萌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼喝滞,長吁一口氣:“原來是場噩夢啊……” “哼阁将!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起右遭,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤做盅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后狸演,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體言蛇,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僻他,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年宵距,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吨拗。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡满哪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劝篷,到底是詐尸還是另有隱情哨鸭,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布娇妓,位于F島的核電站像鸡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哈恰。R本人自食惡果不足惜只估,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一志群、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蛔钙,春花似錦锌云、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至兼贡,卻和暖如春攻冷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背紧显。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工讲衫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孵班。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓涉兽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親篙程。 傳聞我的和親對象是個殘疾皇子枷畏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容