PSR-7桥
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.8,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
PSR-7桥
PSR-7桥转换HttpFoundation类定义的实现HTTP消息接口的对象PSR-7.
安装
1
$Composer需要symfonyob娱乐下载/psr-http-message-bridge
或者,您可以克隆https://github.com/ob娱乐下载symfony/psr-http-message-bridge存储库。
请注意
如果在Symfony应用程序外部安装此组件,则必须要求ob娱乐下载供应商/ autoload.php
文件,以启用Composer提供的类自动加载机制。读这篇文章欲知详情。
桥还需要一个PSR-7实现来允许将HttpFoundation对象转换为PSR-7对象。它为Zend Diactoros.使用作曲(zendframework/zend-diactoros在Packagist上)或参考项目文件安装。欧宝官网下载app
使用
从HttpFoundation对象转换到PSR-7
桥接器提供了一个名为HttpMessageFactoryInterface它从HttpFoundation对象构建实现PSR-7接口的对象。它还在内部提供了一个使用Zend Diactoros的默认实现。
下面的代码片段解释了如何转换请求到一个Zend \ Diactoros \ ServerRequest
类实现Psr \ Http \ \ 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 \响应
类实现Psr \ Http \ \ 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对象。
方法的对象转换Psr \ Http \ \ ServerRequestInterface消息
接口请求实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;// $psrRequest是Psr\Http\Message\ServerRequestInterface的实例$httpFoundationFactory=新HttpFoundationFactory ();$ob娱乐下载symfonyRequest=$httpFoundationFactory->都会($psrRequest);
方法实现的对象Psr \ Http \ \ ResponseInterface消息
到一个响应实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;// $psrResponse是Psr\Http\Message\ResponseInterface的实例$httpFoundationFactory=新HttpFoundationFactory ();$ob娱乐下载symfonyResponse=$httpFoundationFactory->连接createResponse ($psrResponse);