swoft response
swoft response
- 响应对象 response
- 响应对象 response 的获取
- 返回响应信息
- 设置状态码
- 输出字符串
- 输出数组
- 输出头信息
- 重定向
- 文件下载
- 设置 cookie
- 其他方法
响应对象 response
响应对象 Response 为 Swoft\Http\Message\Response
查看 response 对象源码,文件路径为 vendor/swoft/http-message/src/Response.php
class Response implements ResponseInterface
{use CookiesTrait, MessageTrait, PrototypeTrait;...
}
可知 response 对象实现了 ResponseInterface 接口,另外引用 CookiesTrait, MessageTrait, PrototypeTrait 三个trait
响应对象 response 的获取
- 通过控制器方法注入
- 通过请求上下文获取
<?php declare(strict_types=1);namespace App\Http\Controller;use Swoft\Context\Context;
use Swoft\Http\Message\ContentType;
use Swoft\Http\Message\Request;
use Swoft\Http\Message\Response;
use Swoft\Http\Server\Annotation\Mapping\Controller;
use Swoft\Http\Server\Annotation\Mapping\RequestMapping;/*** Class TestController* @package App\Http\Controller* @Controller(prefix="test")*/
class TestController
{/*** @RequestMapping(route="index")* @param Request $request* @return Response*/public function index(Request $request) : Response{$path = $request->getUriPath();$headers = $request->getHeaders();$data = ['path' => $path,'headers' => $headers,];$headers = ['token' => 'akdhfheiwoadskajkdjoihh=ahdiu0-2hds',];$response = Context::mustGet()->getResponse();return $response->withStatus(200)->withContentType(ContentType::JSON)->withHeaders($headers)->withData($data);}/*** @RequestMapping(route="test")* @param Request $request* @param Response $response* @return Response*/public function test(Request $request,Response $response){return $response->withData(['name'=>'swoft']);}
}
返回响应信息
设置状态码
$response = \Swoft\Context\Context::mustGet()->Response();return $response->withStatus(403);
输出字符串
return $response->withContent("Hello World");
输出数组
$data = ['name'=>'swoft'];return $response->withData($data);
输出头信息
$headers = ['token'=>'dhsjagfuigfiugu=-dsah=dsaj'];return $response->withHeaders($headers);
重定向
return $response->redirect("http://www.swoft.org",302);
文件下载
return $response->file(\alias('@runtime/1.zip'), "application/octet-stream");
设置 cookie
$response = $response->withCookie(’name', 'value');$cookies = ['key1' => 'value1','key2' => ['value' => 'value2'],];$response = $response->withCookies($cookies);
其他方法
还有很多方法,比如设置返回数据 Json 类型等,在这里就不一一罗列了,可以查看源代码或者官方文档查看,另外注意 is 开头的方法,有助于理解标准的 http 状态码的意义。
[swoft学习笔记之response篇][1]
[1][https://blog.csdn.net/zs_4336/article/details/99304109]
swoft response相关推荐
- mysql环境搭载后老出错_使用Docker在window10下搭建SWOFT开发环境,mysql连接错误
使用Docker在window10下搭建SWOFT开发环境,mysql连接错误 { "code": 0, "error": "(Swoft\\Db\\ ...
- swoft php怎么样,[原创]Swoole和Swoft的那些事 (Http/Rpc服务篇)
Swoft在PHPer圈中是一个门槛较高的Web框架,不仅仅由于框架本身带来了很多新概念和前沿的设计,还在于Swoft是一个基于Swoole的框架.Swoole在PHPer圈内学习成本最高的工具没有之 ...
- Swoft View 视图
参考资料 swoft-view https://github.com/swoft-cloud/swoft-view Swoft提供PHP原生语法的视图渲染支持,并提供基础的布局以及内部引入文件等功能. ...
- Swoft 2.x 详解Bean
什么是Bean呢? Swoft中Bean是一个类的对象实例 每个被Swoft管理的PHP对象称之为Bean Swoft提供了一个IoC容器来初始化对象和获取对象,用来解决对象之间的依赖管理. 以前当我 ...
- swoft 协程 的使用
控制器访问 /hi /*** @Swoft\Bean\Annotation\Mapping\Inject("UserService")* @var UserService*/pub ...
- Swoft入门及技术指南
初识Swoft 参考素材 swoft官网:http://swoft.org/ 在线官方文://档:http://www.swoft.org/documents/v2/ http://swoft.org ...
- php swoft 路由,Swoft 源码解读
PHP 里面的 yii/laravel 框架算是非常「重」的了. 这里的 重 先不具体到 性能 层面, 主要是框架的设计思想和框架集成的服务, 让框架可以既可以快速解决很多问题, 又可以轻松扩展. P ...
- Swoft 2.x 微服务基础(Consul、RPC 服务发现、限流与熔断器)
本篇概要: 1. Swoft 服务注册与发现: 1.1 Consul 概况: 1.2 在 Consul 注册服务.反注册: 1.2.1 注册服务: 1.2.2 反注册: 1.3 健康检查: 1.4 服 ...
- php swoft 路由,(swoft-2.x框架)1、使用入门
说明 php7由于新框架须要安装swoole,只能linux环境运行,这里本机开发是win10(:debian云服务器主机上git clone 项目,再同步到本机phpstorm.修改提交:或使用wi ...
最新文章
- idea中实体类右击没有ptg_几个牛逼的IDEA插件,Java开发者撸码神器,还带动图的!...
- 【大二在读】说说我对“软件工程”的理解
- Android之Launcher分析和修改1——Launcher默认界面配置(default_workspace)
- 有生之年必看!原来历史还可以这样震撼,看完我惊呆了...
- OpenGL研究3.0 多边形区域填充
- 算法的优缺点_一文总结机器学习各算法优缺点
- HttpServletRequest和ServletRequest的区别
- 职业生涯设计的10点忠告
- 视觉中国网站部分恢复上线? 官方回应:并没有
- XAMPP中Apache因为端口原因不能启动的解决方法
- plsql 自动查询最后页_一次SQL查询优化思考过程(900W+数据,从17s到300ms)
- 【TensorFlow-windows】(四) CNN(卷积神经网络)进行手写数字识别(mnist)
- SHA256算法原理及其实现
- 软件分享 | 第十三期 全球最牛的资源下载神器IDM
- Android手机指纹驱动工作原理
- 小程序apkg还原_谈一谈还原解包后小程序页面wxss样式的若干方法
- 两种特殊卷积:转置卷积和空洞卷积
- GIS空间分析之Clip
- 明天见丨云和恩墨生态产品发布会双平台直播,三款新品即将揭晓
- 十一、HTML常用标签