Yii框架响应组件用法实例分析


Posted in PHP onSeptember 04, 2019

本文实例讲述了Yii框架响应组件用法。分享给大家供大家参考,具体如下:

当我们的浏览器发送过来一个请求之后,在我们的操作里面对请求经过处理之后,我们的服务器也会把请求的结果打包成一个消息,然后把这个消息返还给浏览器,这个消息我们称之为响应。在我们的操作中,我们也可以对响应进行一些设置和处理。要处理我们的响应,我们需要先获得响应组件这个东西。

$response = \Yii::$app->response;

有了这个响应组件之后,我们可以对响应消息进行一些设置了,比如设置响应的状态码。

$response->setStatusCode(404);
//两种方法都可以设置
$response->statusCode = '404';

这个时候我们再来访问时,会出现404的错误,打开开发者调试工具,在network选项下面也是可以看到404的状态码了

Yii框架响应组件用法实例分析

我们还可以添加一些头部信息

//禁止浏览器缓存我们的消息
$response->headers->add("pragma","no-cache");

再次刷新后,我们就可以在头部信息中看到 pragma:no-cache的字样了,这个时候浏览器就不会缓存我们的消息。

同样我们也可以对头部信息进行修改

//告诉浏览器收到我们的消息后把我们的消息缓存5秒钟
$response->headers->set("pragma","max-age=5");

刷新后,我们可以看到我们的pragma字段确实编程了max-age=5
同样,我们还可以删除一些信息。

$response->headers->remove("pragma");

http头部还有很多有意思的功能,比如文件下载

$response->headers->add("content-disposition","attachment;filename='abc.jpg'");

在浏览器中刷新之后,我们可以看到浏览器下载了abc.jpg的文件。
下载文件这个功能很常用,所以在response中给我们包装了一个方法,sendFile

$response->sendFile('./favicon.ico');

刷新后可以看到浏览器下载当前目录下的favicon.ico这个文件,如果文件不存在则会报错。

关于响应组件更多的使用方法可以参考我们的权威指南。

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php 空格,换行,跳格使用说明
Dec 18 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 PHP
php学习笔记之面向对象
Nov 08 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
通过php动态传数据到highcharts
Apr 05 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
解决Laravel blade模板转义html标签的问题
Sep 03 PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 PHP
PHP命名空间用法实例分析
Sep 04 #PHP
Yii框架的布局文件实例分析
Sep 04 #PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 #PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 #PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 #PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 #PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 #PHP
You might like
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
jquery常用操作小结
2014/07/21 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
python中使用while循环的实例
2019/08/05 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
技术学校毕业生求职信分享
2013/12/02 职场文书
高二政治教学反思
2014/02/01 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书