|
thinkphp中U方法的定義規(guī)則如下(方括號內(nèi)參數(shù)根據(jù)實際應用決定):
U('[項目://][路由@][分組名-模塊/]操作? 參數(shù)1=值1[&參數(shù)N=值N]')
或者用數(shù)組的方式傳入?yún)?shù):
U('[項目://][路由@][分組名-模塊/]操作',array('參數(shù)1'=>'值1' [,'參數(shù)N'=>'值N']))
如果不定義項目和模塊的話 就表示當前項目和模塊名稱,下面是一些簡單的例子:
U('Myapp://User/add') // 生成Myapp項目的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設置情況下,會導致解析的錯誤。
根據(jù)項目的不同URL設置,同樣的U方法調(diào)用可以智能地對應產(chǎn)生不同的URL地址效果,例如針對U('Blog/read?id=1')這個定義為例。
如果當前URL設置為普通模式的話,最后生成的URL地址是:
HTUhttp://<serverName>/index.php?m=Blog&a=read&id=1UTH
如果當前URL設置為PATHINFO模式的話,同樣的方法最后生成的URL地址是:
HTUhttp://<serverName>/index.php/Blog/read/id/1UTH
如果當前URL設置為REWRITE模式的話,同樣的方法最后生成的URL地址是:
HTUhttp://<serverName>/Blog/read/id/1UTH
如果當前URL設置為REWRITE模式,并且設置了偽靜態(tài)后綴為.html的話,同樣的方法最后生成的URL地址是:
HTUhttp://<serverName>/Blog/read/id/1.htmlUTH
此外,U方法還可以支持路由,如果我們定義了一個名稱為View的路由,指向Blog模塊的read操作,參數(shù)是id,那么U('View@?id=1')生成的URL地址是:
HTUhttp://<serverName>/index.php/View/id/1UT
注意:U方法的路由支持 僅支持簡單路由,不支持泛路由和正則路由。
php技術(shù):ThinkPHP中U方法的使用淺析,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。