Slim研讀筆記八之路由(下)

2021-08-14 02:43:35 字數 1935 閱讀 8729

跟隨上節的腳步繼續研讀**。上節檢視到了slim/router類的map方法。這節讓我們根據乙個請求的執行過程具體學習下這個路由的核心類。 

/**

* 增加乙個路由

// 字首父組

if ($this->routegroups)

// 將請求方法變為大寫

// according to rfc methods are defined in uppercase (see rfc 7231)

$methods = array_map("strtoupper", $methods);

// add route

// 增加路由

$route = $this->createroute($methods, $pattern, $handler);

$this->routes[$route->getidentifier()] = $route;

$this->routecounter++;

return $route;

}

若有路由字首會加上字首,下面看下createroute,該方法建立了$router物件,也是我們get()方法返回的物件。

/**

* 建立乙個新的路由物件

}

該方法返回route類物件$route。

/**

* 建立新的路由

Slim研讀筆記二之造一款Slim應用

工欲善其事,必先利其器。柚子意圖研讀slim框架,若沒有乙個好的slim應用,也會顯得無從下手。所以,研讀第一步是 造一款slim應用。在我們即將要建立的slim應用中,用到了 twig模板引擎 monolog日誌管理元件 eloquent資料庫orm元件 這些都是柚子做專案時經常用到的元件,隨著框...

Slim研讀筆記七之應用程式中介軟體(下)

中介軟體的壓棧流程並不複雜,柚子心中大概也有個思路,這裡畫出草圖 中介軟體在呼叫時會現獲取最後的中介軟體 匿名函式物件 然後根據中介軟體之間的關聯自動進行呼叫。呼叫中介軟體 call middleware stack param serverrequestinte ce request a requ...

Slim研讀筆記七亂入篇之Monolog(上)

最近兩天,我的同事小濤濤因開發需要,急需乙個日誌系統來記錄日誌。所以,從這節開始我們講解monolog,深入理解下monolog的使用方式與實現原理。在開始研讀之前,我們需要理清二個概念異常和錯誤。異常是exception類的物件,在遇到無法修復的狀況時丟擲 例如,遠端 api 無響應,資料庫查詢失...