PSR-7桥
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 5.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
PSR-7桥
PSR-7桥转换HttpFoundation对象和对象实现HTTP消息定义的接口PSR-7。
安装
1
美元作曲家需要symfony / psob娱乐下载r-http-message-bridge
请注意
如果你安装这个组件之外的Symfony应用程序,你必须要求ob娱乐下载供应商/ autoload.php
文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。
这座桥也需要PSR-7和PSR-17实现将HttpFoundation PSR-7对象的对象。下面的命令安装nyholm / psr7
图书馆,一个轻量级和快速PSR-7实现,但是您可以使用任何的库,实现psr / http-factory-implementation:
1
美元作曲家需要nyholm / psr7
使用
从HttpFoundation PSR-7对象
工厂的桥梁提供了一个接口HttpMessageFactoryInterface从HttpFoundation对象构建对象实现PSR-7接口。
下面的代码片段说明了如何转换请求到一个Nyholm \ Psr7 \ ServerRequest
类实现Psr \ Http \ \ ServerRequestInterface消息
接口:
1 2 3 4 5 6 7 8 9 10
使用Nyholm\Psr7\工厂\Psr17Factory;使用ob娱乐下载\桥\PsrHttpMessage\工厂\PsrHttpFactory;使用ob娱乐下载\组件\HttpFoundation\请求;美元ob娱乐下载symfonyRequest=新请求([]、[][],[],[],[“HTTP_HOST”= >“dunglas.fr”),“内容”);/ / HTTP_HOST服务器密钥必须设置为避免意外错误美元psr17Factory=新Psr17Factory ();美元psrHttpFactory=新PsrHttpFactory (美元psr17Factory,美元psr17Factory,美元psr17Factory,美元psr17Factory);美元psrRequest=美元psrHttpFactory- >都会(美元ob娱乐下载symfonyRequest);
现在,从一个响应到一个Nyholm \ Psr7 \响应
类实现Psr \ Http \ \ ResponseInterface消息
接口:
1 2 3 4 5 6 7 8 9
使用Nyholm\Psr7\工厂\Psr17Factory;使用ob娱乐下载\桥\PsrHttpMessage\工厂\PsrHttpFactory;使用ob娱乐下载\组件\HttpFoundation\响应;美元ob娱乐下载symfonyResponse=新响应(“内容”);美元psr17Factory=新Psr17Factory ();美元psrHttpFactory=新PsrHttpFactory (美元psr17Factory,美元psr17Factory,美元psr17Factory,美元psr17Factory);美元psrResponse=美元psrHttpFactory- >连接createResponse (美元ob娱乐下载symfonyResponse);
HttpFoundation转换对象实现PSR-7接口
另一方面,桥提供工厂接口调用HttpFoundationFactoryInterface建立HttpFoundation对象从对象实现PSR-7接口。
下一个片段解释如何将一个对象实现Psr \ Http \ \ ServerRequestInterface消息
接口请求实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;/ / $ psrRequest Psr的实例\ Http \ \ ServerRequestInterface消息美元httpFoundationFactory=新HttpFoundationFactory ();美元ob娱乐下载symfonyRequest=美元httpFoundationFactory- >都会(美元psrRequest);
从一个对象实现Psr \ Http \ \ ResponseInterface消息
到一个响应实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;/ / $ psrResponse Psr的实例\ Http \ \ ResponseInterface消息美元httpFoundationFactory=新HttpFoundationFactory ();美元ob娱乐下载symfonyResponse=美元httpFoundationFactory- >连接createResponse (美元psrResponse);