開個篇,記錄一下自己學習Laravel原始碼的整個流程,笨鳥先飛,歡迎高人指點!不勝感激!
1.入口頁,public/index.php
;引入了bootstrap
目錄下的app.php
,透過make
方法例項出一個kernel
物件,Kernel類是在Illuminate\Contracts\Http\Kernel
,列印出 Kernel
物件,發現有很多protected
的屬性,簡單羅列一下:
* middleware
* middlewareGroups
* routeMiddleware
* app
* router
* bootstrappers
* middlewarePriority
重點看app屬性,app屬性實際上是一個Illuminate\Foundation\Application
的例項,裡面又包含很多屬性值,主要的屬性有:
* loadedProviders
* bindings
* instances
* aliases
接著呼叫了kernel
類的handle
方法,傳入一個request
請求,request
請求繼承了SymfonyRequest
,並呼叫了一個capture
方法,並將返回的值返回給response
變數。整個流程基本到此為止。
,難道就這麼簡單,當然不是,請求進來之後,kernel
類做了一系列的驗證,分發,處理,包括表單驗證,中介軟體,日誌記錄,呼叫控制器,查詢資料等等.... 如果能把這中間的整個流程全部搞清楚,並理解為什麼這麼做,那麼你就可以算個咖了,起碼是個中咖!
本作品採用《CC 協議》,轉載必須註明作者和本文連結