U('[分组/模块/操作]?参数' [,'参数','伪静态后缀','是否跳转','显示域名'])
如果不定义项目和模块的话 就表示当前项目和模块名称,下面是一些简单的例子:U('User/add') // 生成User模块的add操作的URL地址
U('Blog/read?id=1') // 生成Blog模块的read操作 并且id为1的URL地址
U('Admin/User/select') // 生成Admin分组的User模块的select操作的URL地址
U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
三种方式是等效的,都是 生成Blog模块的cate操作 并且cate_id为1 status为1的URL地址U('Blog/cate/cate_id/1/status/1')
根据项目的不同URL设置,同样的U方法调用可以智能地对应产生不同的URL地址效果,例如针对U('Blog/read?id=1')这个定义为例。
如果当前URL设置为普通模式的话,最后生成的URL地址是: 'news/:id\d'=>'News/read'
那么可以使用U('/news/1')
最终生成的URL地址是:http://serverName/index.php/news/1
注意:如果你是在模板文件中直接使用U方法的话,需要采用 {:U('参数1', '参数2'…)} 的方式,具体参考模板引擎章节的8.3 使用函数内容。
如果你的应用涉及到多个子域名的操作地址,那么也可以在U方法里面指定需要生成地址的域名,例如:U('Blog/read@blog.thinkphp.cn','id=1');
@后面传入需要指定的域名即可。