thinkPHP中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://
如果当前URL设置为PATHINFO模式的话,同样的方法最后生成的URL地址是:
HTUhttp://
如果当前URL设置为REWRITE模式的话,同样的方法最后生成的URL地址是:
HTUhttp://
如果当前URL设置为REWRITE模式,并且设置了伪静态后缀为.HTML的话,同样的方法最后生成的URL地址是:
HTUhttp://
此外,U方法还可以支持路由,如果我们定义了一个名称为VIEw的路由,指向Blog模块的read *** 作,参数是ID,那么U('VIEw@?ID=1')生成的URL地址是:
HTUhttp://
注意:U方法的路由支持 仅支持简单路由,不支持泛路由和正则路由。
总结以上是内存溢出为你收集整理的ThinkPHP中U方法的使用浅析全部内容,希望文章能够帮你解决ThinkPHP中U方法的使用浅析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)