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服务器密钥以避免意外错误psr7FactoryDiactorosFactory ();psrRequestpsr7Factory->都会(ob娱乐下载symfonyRequest);

现在从a响应到一个Zend \ Diactoros \响应类实现Psr \ Http \ \ ResponseInterface消息接口:

1 2 3 4 5 6 7
使用ob娱乐下载PsrHttpMessage工厂DiactorosFactory使用ob娱乐下载组件HttpFoundation响应ob娱乐下载symfonyResponse响应(“内容”);psr7FactoryDiactorosFactory ();psrResponsepsr7Factory->连接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的实例httpFoundationFactoryHttpFoundationFactory ();ob娱乐下载symfonyRequesthttpFoundationFactory->都会(psrRequest);

方法实现的对象Psr \ Http \ \ ResponseInterface消息到一个响应实例:

1 2 3 4 5 6
使用ob娱乐下载PsrHttpMessage工厂HttpFoundationFactory// $psrResponse是Psr\Http\Message\ResponseInterface的实例httpFoundationFactoryHttpFoundationFactory ();ob娱乐下载symfonyResponsehttpFoundationFactory->连接createResponse (psrResponse);
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。