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 smarty的预保留变量总结
Dec 04 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
php实现mysql数据库操作类分享
Feb 14 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
cakephp打印sql语句的方法
Feb 13 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 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编写的SVN类
2013/07/18 PHP
destoon各类调用汇总
2014/06/20 PHP
php验证session无效的解决方法
2014/11/04 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
Python 多维List创建的问题小结
2019/01/18 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
python 5个实用的技巧
2020/09/27 Python
CSS3实现缺角矩形,折角矩形以及缺角边框
2019/12/20 HTML / CSS
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
给酒店员工的表扬信
2014/01/11 职场文书
2014年大学生自我评价
2014/01/19 职场文书
计划生育标语
2014/06/23 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
医院我们的节日活动实施方案
2014/08/22 职场文书
项目负责人岗位职责
2015/02/15 职场文书
2015年售票员工作总结
2015/04/29 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
golang 实现Location跳转方式
2021/05/02 Golang
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL