PSR-7桥

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 5.1,不再维护。

这个页面的更新版本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);
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。