loyaltycorp/easy-psr7-factory

此包已被废弃且不再维护。作者建议使用 eonx-com/easy-psr7-factory 包。

提供从 Symfony 请求/响应创建 PSR7 请求/响应的简单方式


README

提供从 Symfony 请求/响应创建 PSR7 请求/响应的简单方式。

文档

安装

安装此包的推荐方法是使用 Composer

$ composer require loyaltycorp/psr7-factory

工作原理

您正在使用知名的 Symfony HttpFoundation 组件 开发 PHP 应用程序,并希望实现一些可以在任何其他使用 Request/Response 的 PHP 应用程序中使用的逻辑?这个包就是为您准备的!

EasyPsr7Factory 将允许您从 Symfony HttpFoundation Request 创建 PSR-7 ServerRequestInterface 实现,然后也可以从 PSR-7 ResponseInterface 创建 Symfony Response。

使用方法

use LoyaltyCorp\EasyPsr7Factory\EasyPsr7Factory;

 // Gives you a \Psr\Http\Message\ServerRequestInterface based on all values from the $symfonyRequest
$serverRequest = (new EasyPsr7Factory())->createRequest($symfonyRequest);

// Gives you a \Symfony\Component\HttpFoundation\Response based on all values from the $psr7Response
$symfonyResponse = (new EasyPsr7Factory())->createResponse($psr7Response);

Laravel / Lumen

您喜欢这个想法,但您不使用 Symfony,而是使用 Laravel/Lumen?太幸运了,这是一个简单用例 :) Laravel/Lumen 的 Request/Response 类都扩展了 Symfony 的类,所以这个 EasyPsr7Factory 也适用于您!

而且为了使您的一天更加愉快,它还附带了一个服务提供者,允许您在应用程序的任何地方创建请求和响应 :)

Laravel

// config/app.php

'providers' => [
    // Other Service Providers...
    
    \LoyaltyCorp\EasyPsr7Factory\Bridge\Laravel\EasyPsr7FactoryServiceProvider::class,
],

Lumen

// bootstrap/app.php

$app->register(\LoyaltyCorp\EasyPsr7Factory\Bridge\Laravel\EasyPsr7FactoryServiceProvider::class);

贡献

现有的实现都不符合您的需求?请毫不犹豫地创建一个 问题 或甚至一个 Pull Request 来帮助我们扩展这个包。