解析 Middleware 的實作細節
到就目前所知,Middleware 是由 Pipeline 實作的,而程式裡出現 Pipeline 有兩次。一次是 Global middleware,也就是 Http Kernel 所寫的這段程式碼:
到就目前所知,Middleware 是由 Pipeline 實作的,而程式裡出現 Pipeline 有兩次。一次是 Global middleware,也就是 Http Kernel 所寫的這段程式碼:
原本預定要看 middleware,但因為發生忘了帶充電器的蠢事,沒辦法用自己習慣的筆電,所以換講比較簡單的 Marcoable。
繼續昨天的 runRoute()。
回過頭來,我們來看 Http Kernel 的這段程式碼。
Route 帶有單一個路由的資訊。從它在 Router 如何被初始化的程式碼,可以知道它有哪些基本的資訊。
今天要接著來看,是如何設定各式各樣的 route 了。先來看 get() 與 post() 的原始碼:
昨天在最後面,可以知道一件很重要的資訊:Router 裡面所指的 action 原形,其實是 array。
一樣,先從類別圖開始。這次因為相關的類別太多,所以會先以 Router 設定 Controller 以及 Request 如何對應到正確的 Controller 為主,而不會把所有類別都硬塞到這次的圖裡。
今天總算來到了重頭戲--Routing,也就是負責決定什麼樣的網址要傳到指定的 controller。
先回顧一下類別圖,等等的說明搭著圖看會更好理解。