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 相关文章推荐
多文件上传的例子
Oct 09 PHP
PHP 木马攻击防御技巧
Jun 13 PHP
网站用php实现paypal整合方法
Nov 28 PHP
php中OR与|| AND与&&的区别总结
Oct 26 PHP
php实现memcache缓存示例讲解
Dec 04 PHP
php数字运算验证码的实现代码
Jul 30 PHP
Symfony2安装的方法(2种方法)
Feb 04 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 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 购物车实例(申精)
2009/05/11 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php动态变量定义及使用
2015/06/10 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python中print的不换行即时输出的快速解决方法
2016/07/20 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
详解Python模块化编程与装饰器
2021/01/16 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
房地产销售员的自我评价分享
2013/12/04 职场文书
销售主管岗位职责范本
2014/02/14 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
Python基础之元类详解
2021/04/29 Python
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python