0
点赞
收藏
分享

微信扫一扫

tp6 redirect用法


一.响应操作

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地址相关部分内容.

举报

相关推荐

tp6 RabbitMQ

安装tp6

tp6 开启session

tp6调试(trace)

TP6 简单登录

TP6学习笔记

tp6 开启报错设置

0 条评论