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&mysql(五)
Oct 09 PHP
php仿discuz分页效果代码
Oct 02 PHP
一个简单php扩展介绍与开发教程
Aug 19 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
php+ajax无刷新上传图片实例代码
Nov 17 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
laravel 判断查询数据库返回值的例子
Oct 11 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 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使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
js动态创建、删除表格示例代码
2013/08/07 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
js分页工具实例
2015/01/28 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
python多线程方式执行多个bat代码
2016/06/07 Python
django缓存配置的几种方法详解
2018/07/16 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
python实现静态web服务器
2019/09/03 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
python中有帮助函数吗
2020/06/19 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
大学辅导员事迹材料
2014/02/05 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python