PSR-7桥
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.2,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
PSR-7桥
PSR-7桥转换HttpFoundation类定义的实现HTTP消息接口的对象PSR-7.
安装
你可以用两种不同的方式安装组件:
- 通过Composer安装(ob娱乐下载symfony/psr-http-message-bridge);
- 使用官方Git存储库(https://github.com/ob娱乐下载symfony/psr-http-message-bridge).
桥还需要一个PSR-7实现来允许将HttpFoundation对象转换为PSR-7对象。它为Zend Diactoros.使用作曲(zendframework/zend-diactoros在Packagist上)或参考项目文件安装。欧宝官网下载app
使用
从HttpFoundation对象转换到PSR-7
桥接器提供了一个名为HttpMessageFactoryInterface它从HttpFoundation对象构建实现PSR-7接口的对象。它还在内部提供了一个使用Zend Diactoros的默认实现。
下面的代码片段解释如何转换请求变成了Zend DiactorosServerRequest实现ServerRequestInterface接口:
1 2 3 4 5 6 7 8
使用ob娱乐下载\桥\PsrHttpMessage\工厂\DiactorosFactory;使用ob娱乐下载\组件\HttpFoundation\请求;$ob娱乐下载symfonyRequest=新请求(数组(),数组(),数组(),数组(),数组(),数组(“HTTP_HOST”= >“dunglas.fr”),“内容”);//必须设置HTTP_HOST服务器密钥以避免意外错误$psr7Factory=新DiactorosFactory ();$psrRequest=$psr7Factory->都会($ob娱乐下载symfonyRequest);
现在从a响应变成了Zend Diactoros响应实现ResponseInterface接口:
1 2 3 4 5 6 7
使用ob娱乐下载\桥\PsrHttpMessage\工厂\DiactorosFactory;使用ob娱乐下载\组件\HttpFoundation\响应;$ob娱乐下载symfonyResponse=新响应(“内容”);$psr7Factory=新DiactorosFactory ();$psrResponse=$psr7Factory->连接createResponse ($ob娱乐下载symfonyResponse);
将实现PSR-7接口的对象转换为HttpFoundation
另一方面,桥接器提供了一个名为HttpFoundationFactoryInterface它从实现PSR-7接口的对象构建HttpFoundation对象。
方法的对象转换ServerRequestInterface接口请求实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;// $psrRequest是Psr\Http\Message\ServerRequestInterface的实例$httpFoundationFactory=新HttpFoundationFactory ();$ob娱乐下载symfonyRequest=$httpFoundationFactory->都会($psrRequest);
方法实现的对象ResponseInterface到一个响应实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;// $psrResponse是Psr\Http\Message\ResponseInterface的实例$httpFoundationFactory=新HttpFoundationFactory ();$ob娱乐下载symfonyResponse=$httpFoundationFactory->连接createResponse ($psrResponse);
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。