Kohana 框架在國內雖然用戶群體較小,且 3.x 版本與 2.x 差異巨大,官方文檔又以英文為主,導致許多想學習的開發者望而卻步。筆者所在公司近期轉向 Kohana 3.1.0 穩定版開發,借此機會深入研究官方文檔,獲益良多,特分享路由配置的核心知識點。
打開 application/bootstrap.php,找到 Route::set 即可看到默認路由定義:
Route::set('default', '(<controller>(/<action>(/<id>)))')
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
路由由四部分組成:名稱、控制器、動作、參數。每個路由必須指定默認控制器和動作,一般均為 index。
假設需要一個產品列表頁,需獲取產品分類 ID 和當前頁碼,路由可這樣寫:
Route::set('product', 'product/(<action>(/<id>(/<page>)))')
->defaults(array(
'controller' => 'product',
'action' => 'index',
'id' => 0,
'page' => 0 // 注意:部分範例用 NULL,但實測會報錯
));
product 為路由名稱product 為控制器名<action>、<id>、<page> 為動態參數控制器中獲取參數的方式:
$id = $this->request->param('id'); // 參數名必須與路由定義一致
對比閱讀這兩個資源,相信能幫你快速上手 Kohana 路由系統。