跟隨上節的腳步繼續研讀**。上節檢視到了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 無響應,資料庫查詢失...