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学习之PHP运算符
Oct 09 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
php注销代码(session注销)
May 31 PHP
解析php中const与define的应用区别
Jun 18 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
php在线生成ico文件的代码
2007/10/09 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
Python实现的归并排序算法示例
2017/11/21 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
2014年三八妇女节活动方案
2014/02/28 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
党员个人整改措施
2014/10/24 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS