Provides an easy way to create PSR7 Request/Response from Symfony Request/Response.
# Installation
The recommended way to install this package is to use Composer (opens new window).
$ composer require eonx/psr7-factory
# How it works
You are working on a PHP application using the well known Symfony HttpFoundation Component (opens new window) and you want to implement some logic which can be used in any other PHP application using Request/Response? This package is for you!
The EasyPsr7Factory will allow you to create a PSR-7 ServerRequestInterface implementation from a Symfony HttpFoundation Request and then will also allow you to create a Symfony Response from a PSR-7 ResponseInterface.
# Usage
use EonX\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
You like the idea and you're not using Symfony but Laravel (opens new window)/Lumen (opens new window) instead? Lucky you this is an easy use case 😃 Laravel/Lumen Request/Response classes both extend the Symfony ones so this EasyPsr7Factory works for you too!
And just to make your day, it comes with a service provider allowing you to create requests and responses from anywhere you want in your application 😃
# Laravel
// config/app.php
'providers' => [
// Other Service Providers...
\EonX\EasyPsr7Factory\Bridge\Laravel\EasyPsr7FactoryServiceProvider::class,
],
# Lumen
// bootstrap/app.php
$app->register(\EonX\EasyPsr7Factory\Bridge\Laravel\EasyPsr7FactoryServiceProvider::class);
# Contributing
None of the existing implementations fit your needs? Don't hesitate to create an Issue (opens new window) about it or event a Pull Request (opens new window) to help us grow the package.