PHP開(kāi)發(fā)框架kohana3 自定義路由設(shè)置示例
由于kohana框架在國(guó)內(nèi)的用戶(hù)較少,而且新版與kohana2.X差別太大,加之kohana3資料多為英文.讓很多對(duì)kohana感興趣,想學(xué)的同學(xué)們只能望K興嘆.由于公司 最近轉(zhuǎn)向kohana3開(kāi)發(fā)(kohana3.1.0穩(wěn)定版),所以我趁次機(jī)會(huì),認(rèn)真看了下官方的資料.獲益良多,借個(gè)人小站,分享給大家.今天呢,就說(shuō)下kohana的路由設(shè)置.
再次說(shuō)下,我用的是ko3.1.0與ko3有差別的.
其實(shí)呢,kohana3的路由設(shè)置,很簡(jiǎn)單.打開(kāi)application文件下的bootstrap.php,找到Route::set,會(huì)看如下的默認(rèn)路由:
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
這個(gè)呢,就是默認(rèn)的路由了,可以看出它的組成是這樣子的.名稱(chēng),控制器,動(dòng)作,參數(shù).特別要指出的是,每個(gè)路由必須指定默認(rèn)的控制和動(dòng)作,一般是index.
如何創(chuàng)建自定義的路由呢,其實(shí)和默認(rèn)的寫(xiě)法是一樣只不過(guò),加入自己要加的東西.例如有一個(gè)產(chǎn)品列表頁(yè),需要獲取產(chǎn)品類(lèi)型的ID和當(dāng)前頁(yè)碼.
路由可以這樣設(shè)置
Route::set('product', 'product/((/)(/))')
->defaults(array(
'controller' => 'product',
'action' => 'index',
'id' =>0,
'page' =>0//有的例子這里是NULL,但是我用了報(bào)錯(cuò).
));
這里呢,第一個(gè)product是名稱(chēng),后面的是重點(diǎn)講的地方,product是控制器,/action是動(dòng)作,一定要這么寫(xiě).后面(/<>)里面是參數(shù).在頁(yè)面中獲取這里參數(shù)是這樣,$id = $this->request->param('id'),這個(gè)里面的id,與路由里面的id名稱(chēng)必須相同.
需要的同學(xué)可參照這個(gè)例子去改,應(yīng)該可以了.未了,強(qiáng)烈推薦大家看2個(gè)站的東西
1.http://kohanaframework.org/3.1/guide(官方的在線文檔)
2.http://kerkness.ca/wiki/doku.php(非官方的維基,例子比官方的好,但是版本3.0的)
可以對(duì)比著看,相信大家一定可以玩轉(zhuǎn)kohana,加油!!
相關(guān)文章
PHP 基于文件頭的文件類(lèi)型驗(yàn)證類(lèi)函數(shù)
在PHP開(kāi)發(fā)中,傳統(tǒng)的上傳文件類(lèi)型驗(yàn)證是基于文件擴(kuò)展名的驗(yàn)證方式(如pathinfo函數(shù)),很容易通過(guò)修改擴(kuò)展名來(lái)欺騙2012-05-05
CI框架無(wú)限級(jí)分類(lèi)+遞歸的實(shí)現(xiàn)代碼
CodeIgniter是一個(gè)輕量級(jí)但功能強(qiáng)大的PHP框架,基于MVC設(shè)計(jì)模式,提供了一套豐富的類(lèi)庫(kù),簡(jiǎn)單易學(xué),高效實(shí)用。下面給大家介紹CI框架無(wú)限級(jí)分類(lèi)+遞歸的實(shí)現(xiàn)代碼,感興趣的朋友參考下吧2016-11-11
Yii框架連接mongodb數(shù)據(jù)庫(kù)的代碼
這篇文章主要介紹了Yii框架連接mongodb數(shù)據(jù)庫(kù)的代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
ThinkPHP5聯(lián)合(關(guān)聯(lián))查詢(xún)、多條件查詢(xún)與聚合查詢(xún)實(shí)例詳解
這篇文章主要介紹了ThinkPHP5聯(lián)合(關(guān)聯(lián))查詢(xún)、多條件查詢(xún)與聚合查詢(xún),結(jié)合實(shí)例形式總結(jié)分析了thinkPHP5常用查詢(xún)操作技巧,需要的朋友可以參考下2017-11-11
php使用CURL模擬GET與POST向微信接口提交及獲取數(shù)據(jù)的方法
這篇文章主要介紹了php使用CURL模擬GET與POST向微信接口提交及獲取數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了php使用curl向微信接口提交與獲取相關(guān)數(shù)據(jù)的操作技巧,需要的朋友可以參考下2016-09-09
Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
這篇文章主要介紹了Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu),簡(jiǎn)單分析了Thinkphp源碼的獲取方法、下載地址、安裝環(huán)境要求以及目錄結(jié)構(gòu),需要的朋友可以參考下2020-04-04
php慢查詢(xún)?nèi)罩竞湾e(cuò)誤日志使用詳解
這篇文章主要介紹了php慢查詢(xún)?nèi)罩竞湾e(cuò)誤日志使用詳解,有感興趣的可以研究下2021-02-02

