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 iconv 函数转gb2312的bug解决方法
Oct 11 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
php ajax实现文件上传进度条
Mar 29 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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上传、管理照片示例
2006/10/09 PHP
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
PHP如何抛出异常处理错误
2011/03/02 PHP
thinkPHP查询方式小结
2016/01/09 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
jquery text()要注意啦
2009/10/30 Javascript
js调用css属性写法
2013/09/21 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
十条建议帮你提高Python编程效率
2016/02/16 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
员工评语大全
2014/01/19 职场文书
质量提升方案
2014/06/16 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang