第十屆 優選

software-dev
Laravel 原始碼分析
Miles

系列文章

DAY 11

分析 Session(2)

先回顧一下類別圖,等等的說明搭著圖看會更好理解: 昨天有提到: Laravel 所實作的五個 handler 不僅可以用在 SessionManager 上...

DAY 12

分析 Routing(1)

今天總算來到了重頭戲--Routing,也就是負責決定什麼樣的網址要傳到指定的 controller。 Routing 的類別又比 Session 來得更多,而...

DAY 13

分析 Routing(2)

一樣,先從類別圖開始。這次因為相關的類別太多,所以會先以 Router 設定 Controller 以及 Request 如何對應到正確的 Controller...

DAY 14

分析 Routing(3)

昨天在最後面,可以知道一件很重要的資訊:Router 裡面所指的 action 原形,其實是 array。以昨天的例子來說: $this->app-&gt...

DAY 15

分析 Routing(4)

今天要接著來看,是如何設定各式各樣的 route 了。先來看 get() 與 post() 的原始碼: public function get($uri, $a...

DAY 16

分析 Routing(5)

Route 帶有單一個路由的資訊。從它在 Router 如何被初始化的程式碼,可以知道它有哪些基本的資訊: protected function newRout...

DAY 17

分析 Routing(6)

回過頭來,我們來看 Http Kernel 的這段程式碼: return (new Pipeline($this->app)) -...

DAY 18

分析 Routing(7)

繼續昨天的 runRoute(),直接來看原始碼: protected function runRoute(Request $request, Route $r...

DAY 19

分析 Marcoable

原本預定要看 middleware,但因為發生忘了帶充電器的蠢事,沒辦法用自己習慣的筆電,所以換講比較簡單的 Marcoable。 如何擴展既有類別的功能 先來...

DAY 20

解析 Middleware 的實作細節

Middleware 是由 Pipeline 實作的,而程式裡出現 Pipeline 有兩次。一次是 Global middleware,也就是 Http Ke...