Wtingting

U方法的定义规则如下(方括号内参数根据实际应用决定):

U\'[项目://][路由@][分组名-模块/]操作? 参数1=值1[&参数N=值N]\')

或者用数组的方式传入参数

U\'[项目://][路由@][分组名-模块/]操作\',array(\'参数1\'=>\'值1\' [,\'参数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地址

参数请确保使用 ?id=1&name=tp或者数组的方式来定义,虽然有些情况下

U\'Blog/read/id/1\')和U\'Blog/read?id=1\')的效果一样,但是在不同的URL设置情况下,会导致解析的错误。

根据项目的不同URL设置,同样的U方法调用可以智能地对应产生不同的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模式,并且设置了伪静态后缀为.html的话,同样的方法最后生成的URL地址是:

HTUhttp://<serverName>/Blog/read/id/1.htmlUTH

U方法还可以支持路由,如果我们定义了一个名称为View的路由,指向Blog模块的read操作,参数是id,那么U\'View@?id=1\')生成的URL地址是:

HTUhttp://<serverName>/index.php/View/id/1UT

注意:U方法的路由支持 仅支持简单路由,不支持泛路由和正则路由。

分类:

技术点:

相关文章: