tp6 redirect用法
  WCoL3eOK99gf 2023年11月02日 84 0


一.响应操作

1. 响应输出,有好几种:包括 return、json()和 view()等等;
2. 默认输出方式是以 html 格式输出,如果你发起 json 请求,则输出 json;
3. 而背后是 response 对象,可以用 response()输出达到相同的效果;

return response($data);
4. 使用 response()方法可以设置第二参数,状态码,或调用 code()方法;

return response($data, 201);
return response($data)->code(202);

5. 使用 json()、view()方法和 response()返回的数据类型不同,效果一样;

return json($data, 201);
return json($data)->code(202);

6. 不但可以设置状态码,还可以设置 header()头文件信息;

return json($data)->code(202)->header(['Cache-control' => 'no-cache,must-revalidate']);
 

二.重定向

1. 使用 redirect()方法可以实现页面重定向,需要 return 执行;

return redirect('http://www.baidu.com');
2. 站内重定向,直接输入路由地址或相对地址即可,第二参数状态码;

return redirect('ds/5');
return redirect('/address/details/id/5', 201);

3. 使用 url 自动生成跳转地址,普通地址或路由地址;

return redirect(url('address/index'));
4. 附加 session 信息,并跳转重定向;

return redirect(url('address/index'))->with('name', 'Mr.Lee');

5. 重定向还提供了,记住上一次的 url,和跳转到上一次 url 的功能;
 

if (session('?flag')) {
 return '死机警告';
 } else {
 return redirect(url('address/index'))->remember();
 }
 public function index()
 {
 $url = url('address/back');
 return '<a href="'.$url.'">返回<a>';
 }
 public function back()
 {
 return redirect('1')->with('flag', '1')->restore();
 }

redirect 重定向的通用语法为:redirect(url,params=array(),delay=0,msg=''),假设当前为默认 HOME分组 Aritcle模块 insert操作,一些例子如下:


复制代码 代码如下:

// 跳转到 edit 操作  
 $this->redirect('edit');   
 // 跳转到 UserAction下的edit 操作  
 $this->redirect('User/edit');  // 跳转到 Admin分组默认模块默认操作  $this->redirect('Admin/');
// 跳转到 Admin分组Index模块view操作 
 $this->redirect('Admin-Index/view');  // 跳转到 Admin分组Index模块view操作,uid参数为1,延迟3秒跳转  $this->redirect('Admin-Index/view', array('uid'=>1), 3,'页面跳转中~') 
// 跳转到 其他OtherApp项目(非分组)的Admin项目分组User模块view操作  
 $this->redirect('OtherApp://Admin-User/view');

同项目分组中的URL访问一样,redirect 中跨分组跳转只是多了一个分组项目名称的概念

提示:可以在 redirect 中使用路由,redirect 方法的参数用法和 U函数 的用法一致.可参考 U函数 生成URL地址相关部分内容.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  NT5NRjELxLp1   2024年04月29日   66   0   0 PHP
  yThMa20bw7iV   2024年02月19日   70   0   0 PHP
  iyViKl6W0XQr   2024年05月17日   51   0   0 PHP
  NT5NRjELxLp1   2024年03月14日   81   0   0 PHP
WCoL3eOK99gf