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 相关文章推荐
Content-type 的说明
Oct 09 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
php 远程图片保存到本地的函数类
Dec 08 PHP
深入php多态的实现详解
Jun 09 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
PHP中session变量的销毁
Feb 27 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
PHP小白必须要知道的php基础知识(超实用)
Oct 10 PHP
php通过header发送自定义数据方法
Jan 18 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
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
PHP闭包(Closure)使用详解
2013/05/02 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
利用python为运维人员写一个监控脚本
2018/03/25 Python
实时获取Python的print输出流方法
2019/01/07 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
Python用SSH连接到网络设备
2021/02/18 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
预备党员入党思想汇报
2014/01/04 职场文书
社会实践活动总结报告
2014/04/29 职场文书
合伙经营协议书范本
2014/09/13 职场文书
个人授权委托书范本
2014/09/14 职场文书
2015年导购员工作总结
2015/04/25 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
离婚财产分割协议书
2015/08/11 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python