一.响应操作
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地址相关部分内容.
标签:redirect,return,url,用法,tp6,Admin,跳转,view From: https://blog.51cto.com/haibo0668/8103583