六、PHP框架Laravel学习笔记——响应设置和重定向
一.响应设置
- 路由和控制器处理完业务都会返回一个发送到浏览器的响应:return;
- 比如字符串会直接输出,而数组则会输出 json 格式,本身是 Response 对象;
return [1, 2, 3]; //输出 json 格式
return response([1, 2, 3]); //同上
return response()->json([1, 2, 3]); //同上
- 如果使用 response()输出的话,可以设置状态码和响应头信息;
return response('index', 201); //可以设置 HTTP 请求状态码
- 也可以给 HTTP 添加或修改标头,比如将 html 解析模式改成文本 plain 模式;
return response('<b>index</b>') ->header('Content-Type', 'text/plain'); //文本解析模式
- 结合上面的响应操作,再结合 view()视图功能,显示纯 HTML 代码页面;
return response()->view('task', ['id'=>10], 201)->header('Content-Type', 'text/plain');
二.路由重定向
- 重定向使用助手函数 redirect()的 to()方法,注意需要 return 才能跳转;
return redirect()->to('/'); //跳到首页
return redirect()->to('task'); //跳转到 task
return redirect()->to('task/url'); //跳转到 task/url
- 也可以直接使用快捷方式直接进行跳转;
return redirect('/'); //跳到首页
return redirect('task'); //跳转到 task
return redirect('task/url'); //跳转到 task/url
- redirect()助手有一个对应的 facade 模式对象;
return Redirect::to('/'); //facade 模式,但需要 use 引入
- 使用 redirect()的 route()方法,可以跳转到指定的命名路由 URI;
return redirect()->route('task.index'); //注意和 route()方法区别
- 使用 redirect()的 back()方法,可以重定向到上一个页面中;
return redirect()->back(); return back(); //快捷方式
- 使用 redirect()的 action()方法,可以直接重定向到控制器方法;
return redirect()->action('TaskController@index'); //需注册路由
return redirect()->action('TaskController@index', ['id'=>10]);
- 使用 redirect()的 away()方法,跳转到外部链接;
return redirect()->away('http://www.baidu.com'); //不带任何编码
六、PHP框架Laravel学习笔记——响应设置和重定向相关推荐
- 三、PHP框架Laravel学习笔记——路由参数、重定向、视图
一.路由参数 我们已经学习了部分路由参数的功能,比如动态传递{id}: 那么,有时这个参数需要进行约束,我们可以使用正则来限定必须是数字: Route::get('task/read/{id}', ' ...
- 十六、PHP框架Laravel学习笔记——构造器的增删改
一.增删改操作 使用 insert()方法可以新增一条或多条记录: //新增一条记录 DB::table('users')->insert([ 'username' => '李白', 'p ...
- 二十六、PHP框架Laravel学习笔记——模型的一对多关联
二.一对多关联 一对多关联,本质上使用方法和一对一关联类似,内部实现略有不同: 创建另一个模型:book.php,我们看下这个表数据: PS:这里 user_id=19 有三个,也就是蜡笔小新有三本书 ...
- 七、PHP框架Laravel学习笔记——资源控制器
一.资源控制器 声明:资源控制器是某个特定场景下的产物,完全理解需要 PHP 项目基础: 比如开发过博客系统,留言帖子系统之类,具有类似思维,否则你懂的-: 只是学习了 PHP 基础,就立刻学习框架的 ...
- 十七、PHP框架Laravel学习笔记——模型的定义
一.默认设置 框架可以使用 Eloquent ORM 进行数据库交互,也就是关系对象模型: 在数据库入门阶段,我们已经创建了一个 User.php 模型,如下: php artisan make:mo ...
- 八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护
一.表单伪造 之前一直用的 GET 请求方式,而表单可以实现 POST 方式,我们来实验下: 先在 TaskController 创建两个方法,一个表单页,一个接受表单数据路由: public fun ...
- 二、PHP框架Laravel学习笔记——路由的定义和控制器
一.路由的定义 什么是路由?路由就是提供接受 HTTP 请求的路径,并和程序交互的功能: 简单点理解,就是为了提供访问程序的 URL 地址,所做的一些设置工作: phpstorm 支持 cmd 操作, ...
- 三十、PHP框架Laravel学习笔记——模型的预加载
一.预加载 预加载,就是解决关联查询中产生的 N+1 次查询带来的资源消耗 我们要获取所有书籍的作者(或拥有者),普通查询方案如下: //获取所有书籍列表 $books = Book::all(); ...
- 二十九、PHP框架Laravel学习笔记——Debugbar 调试器
二.安装使用 通过 composer 在项目中安装 Debugbar,命令如下: composer require barryvdh/laravel-debugbar 生成一个配置文件,给用户配置,可 ...
最新文章
- [项目经验]玩转开源项目
- 跟着老板创业3年,团队从4人到40多人
- 【转】iphone开发中NSMutableAttributedString/NSAttributedString 富文本设置
- 文件怎么更新_安装累积更新丢文件似乎已成为惯例 KB4556799同样出现文件丢失问题...
- Python爬虫爬取微博热搜保存为 Markdown 文件
- 24岁女孩与30岁男人的精彩对白
- jQuery中的bind() .live() .delegate()的区别
- 【JeecgBoot】关于 jeecg-boot 的项目理解、使用心得和改进建议
- DirectX 基础总结笔记
- 百度地图根据位置获取对应的位置中文
- idea中加入插入当前系统日期快捷键
- rax调用微信小程序原生事件
- 麻将与扑克的文化内涵
- postgresql实现存在则更新,不存在则插入
- 分布式架构和集群架构的区别
- JavaEE进阶——全文检索之Lucene框架
- 2022云南省职业院校技能大赛(高职组) Web技术(网站设计与开发)赛项规程
- 非核心版本的计算机上_哪个版本的Microsoft Office最好使用、来占用最少的资源...
- 研发质量管理---(1)质量管理总结
- java微信红包开发_java写的伪微信红包功能示例代码
热门文章
- php执行npm命令_npm系列之命令执行
- 特征图注意力_从数据结构到算法:图网络方法初探
- 深度学习之 hard negative mining (难例挖掘)
- amap不同样式marker点_想出一手漂亮的图,CAD打印样式表你必须会!
- Java笔记03-Constructor Override
- 帮助文件html打不开,chm帮助文件打不开全是代码?这几种解决方法了解一下
- matlab 作图 虚线太长,matlab 极坐标绘图 在matlab中,用polar画的图形,如何使虚线圆多显示几个?...
- 第二季1:图像基础知识
- framebuffer驱动详解2——framebuffer驱动框架分析
- 内核启动的汇编阶段——head.S文件