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开发GUI
Oct 09 PHP
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
PHP strtotime函数详解
Dec 18 PHP
zen cart新进商品的随机排序修改方法
Sep 10 PHP
php程序员应具有的7种能力小结
Nov 27 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
php操作access数据库的方法详解
Feb 22 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
PHP sdk实现在线打包代码示例
Dec 09 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和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
python多进程共享变量
2016/04/06 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
Django 返回json数据的实现示例
2020/03/05 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
详解anaconda安装步骤
2020/11/23 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
把富文本的回车转为br标签
2019/08/09 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
前台接待的工作职责
2013/11/21 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
2014年检验科工作总结
2014/11/22 职场文书
社区低保工作总结2015
2015/07/23 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
详解java如何集成swagger组件
2021/06/21 Java/Android
Python3的进程和线程你了解吗
2022/03/16 Python