代码改变世界

TP的U方法

2011-05-21 14:19  卫佳  阅读(406)  评论(0编辑  收藏  举报


U方法可以用于方便的生成URL地址,并且可以智能识别项目的URL配置。
使用格式:
U('项目名://路由名@组名-模块名/操作名?参数1=值1&参数2=值2')
或者
U('项目名://路由名@组名-模块名/操作名',array('参数1'=>'值1','参数2'=>'值2'))
其中项目名 路由名 组名 和模块名都是可选参数
例如:

  1. U('App://Admin-User/add?pid=1')

wedding jewelry sets    

表示生成项目名称为App 组名为Admin 模块名为User的add操作的URL地址 并且传入参数pid=1,
如果采用默认的项目配置,那么生成的URL地址类似于
App/Admin/User/add/pid/1
上面的方式等效于

  1. U('App://Admin-User/add',array('pid'=1))

复制代码

如果当前处于App项目下面,通常可以写为

  1. U('Admin-User/add?pid=1')

复制代码

如果没有分组,那么一般是

  1. U('User/add?pid=1')

复制代码

如果生成的URL是一个采用路由访问的地址 可以写成

  1. U('App://User@?id=1')

replica handbags

会生成 App/User/id/1 这样的URL地址

使用U方法生成URL地址 可以根据当前的项目配置智能识别:
1、自动判断当前的URL模式
2、自动判断当前的PATHINFO分隔符设置
3、自动添加设置的伪静态后缀
以上特性使得项目在多环境部署和移植的时候 更加方便

U方法还有两个参数
第三个参数设置为True的话 可以自动跳转到生成的URL地址
第四个参数如果设置为False的话 可以忽略当前的伪静态设置

如果需要在模板文件中使用U方法,可以采用下面的快捷方式:

  1. {:U('App://Admin-User/add?pid=1')}

discount louis vuitton handbags

Action的redirect方法的前面两个参数的用法和U方法一样,例如

  1. $this->redirect('App://Admin-User/add?pid=1');

复制代码