tp3.2.3 url生成以及页面跳转

url生成
ThinkPHP内置提供了U方法,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')//如果只是字符串方式的参数可以在第一个参数中定义

在view视图页面使用U方法,例如

添加用户

页面跳转
系统的\Think\Controller类内置了两个跳转方法success和error,用于页面跳转提示
使用方法很简单,例如

$User = M('User'); //实例化User对象
$result = $User->add($data); 
if($result){    //设置成功后跳转页面的地址,默认的返回页面$_SERVER['HTTP_REFERER'] 
   $this->success('新增成功', 'User/list',3);
} else {  
  //错误页面的默认跳转页面是返回前一页,通常不需要设置 
     $this->error('新增失败');
     }

success和error方法的第一个参数表示提示信息,第二个参数表示跳转地址,第三个参数是跳转时间(单位为秒)。
Controller类的redirect方法可以实现类似的页面跳转功能。

redirect方法的参数用法和U函数的用法一致,例如:

//重定向到New模块的Category操作
$this->redirect('index/index', array('id' => 2), 5, '页面跳转中...');
//重定向到指定的URL地址
redirect(U('home/index/index'), 5, '页面跳转中...')

你可能感兴趣的:(php进阶学习)