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 相关文章推荐
2.PHP入门
Oct 09 PHP
PHP配置心得包含MYSQL5乱码解决
Nov 20 PHP
MYSQL环境变量设置方法
Jan 15 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
header跳转和include包含问题详解
Sep 08 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
Apr 26 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
php读取csv文件并输出的方法
Mar 14 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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实现将Session写入数据库
2015/07/26 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
web 页面分页打印的实现
2009/06/22 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
详解python基础之while循环及if判断
2017/08/24 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
Python使用re模块验证危险字符
2020/05/21 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
创业大赛策划书
2014/03/01 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
安全生产大检查方案
2014/05/07 职场文书
条幅标语大全
2014/06/20 职场文书
经营理念口号
2014/06/21 职场文书
文明社区申报材料
2014/08/21 职场文书
先进党支部事迹材料
2014/12/24 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
大学军训通讯稿
2015/07/18 职场文书
高中信息技术教学反思
2016/02/16 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
详解Java实践之适配器模式
2021/06/18 Java/Android