PSR-7桥
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.7,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
PSR-7桥
PSR-7桥转换HttpFoundation对象和对象实现HTTP消息定义的接口PSR-7。
安装
1
美元作曲家需要symfony / psob娱乐下载r-http-message-bridge
或者,您可以克隆的https://github.com/ob娱乐下载symfony/psr-http-message-bridge存储库。
请注意
如果你安装这个组件之外的Symfony应用程序,你必须要求ob娱乐下载供应商/ autoload.php
文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。
这座桥还需要允许将HttpFoundation对象转换为PSR-7 PSR-7实现对象。它提供本机支持Zend Diactoros。使用作曲家(zendframework / zend-diactoros Packagist)或参考项目文档来安装它。欧宝官网下载app
使用
从HttpFoundation PSR-7对象
工厂的桥梁提供了一个接口HttpMessageFactoryInterface从HttpFoundation对象构建对象实现PSR-7接口。它还提供了一个默认实现使用Zend Diactoros内部。
下面的代码片段解释如何转换请求到一个Zend
类实现Psr
接口:
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);
现在,从一个响应到一个Zend
类实现Psr
接口:
1 2 3 4 5 6 7
使用ob娱乐下载\桥\PsrHttpMessage\工厂\DiactorosFactory;使用ob娱乐下载\组件\HttpFoundation\响应;美元ob娱乐下载symfonyResponse=新响应(“内容”);美元psr7Factory=新DiactorosFactory ();美元psrResponse=美元psr7Factory- >连接createResponse (美元ob娱乐下载symfonyResponse);
HttpFoundation转换对象实现PSR-7接口
另一方面,桥提供工厂接口调用HttpFoundationFactoryInterface建立HttpFoundation对象从对象实现PSR-7接口。
下一个片段解释如何将一个对象实现Psr
接口请求实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;/ / $ psrRequest Psr的实例\ Http \ \ ServerRequestInterface消息美元httpFoundationFactory=新HttpFoundationFactory ();美元ob娱乐下载symfonyRequest=美元httpFoundationFactory- >都会(美元psrRequest);
从一个对象实现Psr
到一个响应实例:
1 2 3 4 5 6
使用ob娱乐下载\桥\PsrHttpMessage\工厂\HttpFoundationFactory;/ / $ psrResponse Psr的实例\ Http \ \ ResponseInterface消息美元httpFoundationFactory=新HttpFoundationFactory ();美元ob娱乐下载symfonyResponse=美元httpFoundationFactory- >连接createResponse (美元psrResponse);