hinkphp中u方法的定義規(guī)則如下(方括號內(nèi)參數(shù)根據(jù)實(shí)際應(yīng)用決定):
u('[項(xiàng)目://][路由@][分組名-模塊/]操作? 參數(shù)1=值1[&參數(shù)n=值n]')
或者用數(shù)組的方式傳入?yún)?shù):
u('[項(xiàng)目://][路由@][分組名-模塊/]操作',array('參數(shù)1'=>'值1' [,'參數(shù)n'=>'值n']))
如果不定義項(xiàng)目和模塊的話 就表示當(dāng)前項(xiàng)目和模塊名稱,下面是一些簡單的例子:
u('myapp://user/add') // 生成myapp項(xiàng)目的user模塊的add操作的url地址
u('blog/read?id=1') // 生成blog模塊的read操作并且id為1的url地址
u('admin-user/select') // 生成admin分組的user模塊的select操作的url地址
參數(shù)請確保使用 ?id=1&name=tp或者數(shù)組的方式來定義,雖然有些情況下u('blog/read/id/1')和u('blog/read?id=1')的效果一樣,但是在不同的url設(shè)置情況下,會導(dǎo)致解析的錯(cuò)誤。
根據(jù)項(xiàng)目的不同url設(shè)置,同樣的u方法調(diào)用可以智能地對應(yīng)產(chǎn)生不同的url地址效果,例如針對u('blog/read?id=1')這個(gè)定義為例。
如果當(dāng)前url設(shè)置為普通模式的話,最后生成的url地址是:
htuhttp://<servername>/index.php?m=blog&a=read&id=1uth
如果當(dāng)前url設(shè)置為pathinfo模式的話,同樣的方法最后生成的url地址是:
htuhttp://<servername>/index.php/blog/read/id/1uth
如果當(dāng)前url設(shè)置為rewrite模式的話,同樣的方法最后生成的url地址是:
htuhttp://<servername>/blog/read/id/1uth
如果當(dāng)前url設(shè)置為rewrite模式,并且設(shè)置了偽靜態(tài)后綴為.html的話,同樣的方法最后生成的url地址是:
htuhttp://<servername>/blog/read/id/1.htmluth
此外,u方法還可以支持路由,如果我們定義了一個(gè)名稱為view的路由,指向blog模塊的read操作,參數(shù)是id,那么u('view@?id=1')生成的url地址是:
htuhttp://<servername>/index.php/view/id/1ut
注意:u方法的路由支持 僅支持簡單路由,不支持泛路由和正則路由。
更多信息請查看IT技術(shù)專欄