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 相关文章推荐
BBS(php & mysql)完整版(五)
Oct 09 PHP
一个用于网络的工具函数库
Oct 09 PHP
UTF8编码内的繁简转换的PHP类
Jul 09 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 PHP
PHP实现递归的三种方法
Jul 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
PHP 验证码不显示只有一个小红叉的解决方法
2013/09/30 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
js中new一个对象的过程
2017/02/20 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
python分布式环境下的限流器的示例
2017/10/26 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
python实现ftp文件传输功能
2020/03/20 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
买卖协议书范本
2014/04/21 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
授权委托书公证
2014/09/14 职场文书
党员转正介绍人意见
2015/06/03 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python