eonx-com / easy-psr7-factory
Provides an easy way to create PSR7 Request/Response from Symfony Request/Response
Installs: 820 816
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^8.1
- nyholm/psr7: ^1.1
- symfony/psr-http-message-bridge: ^1.1 || ^2.0
Requires (Dev)
- guzzlehttp/psr7: ^2.1
- laravel/lumen-framework: ^5.8 || ^6.0 || ^8.0
- phpunit/phpunit: ^9.5 || ^10.0
- symfony/symfony: ^5.4 || ^6.0
- vlucas/phpdotenv: ^3.3 || ^5.2
- 4.x-dev
- dev-master / 4.5.x-dev
- 4.5.6
- 4.5.5
- 4.5.4
- 4.5.3
- 4.5.1
- 4.5.0
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.2
- 4.4.1
- 4.4.0
- 4.3.38
- 4.3.37
- 4.3.36
- 4.3.35
- 4.3.34
- 4.3.33
- 4.3.32
- 4.3.31
- 4.3.30
- 4.3.29
- 4.3.28
- 4.3.27
- 4.3.26
- 4.3.25
- 4.3.24
- 4.3.23
- 4.3.22
- 4.3.21
- 4.3.20
- 4.3.19
- 4.3.18
- 4.3.17
- 4.3.16
- 4.3.15
- 4.3.14
- 4.3.13
- 4.3.12
- 4.3.11
- 4.3.10
- 4.3.9
- 4.3.8
- 4.3.7
- 4.3.6
- 4.3.5
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.7
- 4.2.6
- 4.2.5
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.42
- 4.1.41
- 4.1.40
- 4.1.39
- 4.1.38
- 4.1.37
- 4.1.36
- 4.1.35
- 4.1.34
- 4.1.33
- 4.1.32
- 4.1.31
- 4.1.30
- 4.1.29
- 4.1.28
- 4.1.27
- 4.1.26
- 4.1.25
- 4.1.24
- 4.1.23
- 4.1.22
- 4.1.21
- 4.1.20
- 4.1.19
- 4.1.18
- 4.1.17
- 4.1.16
- 4.1.15
- 4.1.14
- 4.1.13
- 4.1.12
- 4.1.11
- 4.1.10
- 4.1.9
- 4.1.8
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.1.0-rc1
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 3.x-dev
- 3.4.29
- 3.4.28
- 3.4.27
- 3.4.26
- 3.4.25
- 3.4.24
- 3.4.24-beta1
- 3.4.23
- 3.4.22
- 3.4.21
- 3.4.20
- 3.4.19
- 3.4.18
- 3.4.17
- 3.4.16
- 3.4.15
- 3.4.14
- 3.4.13
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.15
- 3.3.14
- 3.3.13
- 3.3.12
- 3.3.11
- 3.3.10
- 3.3.9
- 3.3.8
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.14
- 3.2.13
- 3.2.12
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.2.0-alpha4
- 3.2.0-alpha3
- 3.2.0-alpha2
- 3.2.0-alpha1
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.5-alpha8
- 3.1.5-alpha7
- 3.1.5-alpha6
- 3.1.5-alpha5
- 3.1.5-alpha4
- 3.1.5-alpha3
- 3.1.5-alpha2
- 3.1.5-alpha1
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.2-alpha4
- 3.1.2-alpha3
- 3.1.2-alpha2
- 3.1.2-alpha1
- 3.1.1
- 3.1.1-alpha2
- 3.1.1-alpha1
- 3.1.0
- 3.1.0-rc2
- 3.1.0-rc1
- 3.0.30
- 3.0.29
- 3.0.28
- 3.0.27
- 3.0.26
- 3.0.25
- 3.0.24
- 3.0.23
- 3.0.22
- 3.0.21
- 3.0.20
- 3.0.19
- 3.0.18
- 3.0.17
- 3.0.16
- 3.0.15
- 3.0.14
- 3.0.14-alpha3
- 3.0.14-alpha2
- 3.0.14-alpha1
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.5-alpha4
- 3.0.5-alpha3
- 3.0.5-alpha2
- 3.0.5-alpha1
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-alpha2
- 3.0.0-alpha1
- 2.5.33
- 2.5.32
- 2.5.31
- 2.5.30
- 2.5.29
- 2.5.28
- 2.5.27
- v2.5.26
- v2.5.25
- v2.5.24
- v2.5.23
- v2.5.22
- v2.5.21
- v2.5.20
- v2.5.19
- v2.5.18
- v2.5.17
- v2.5.16
- v2.5.15
- v2.5.14
- v2.5.13
- v2.5.12
- v2.5.11
- v2.5.10
- v2.5.9
- v2.5.8
- v2.5.7
- v2.5.6
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.49
- v2.4.48
- v2.4.47
- v2.4.46
- v2.4.45
- v2.4.44
- v2.4.43
- v2.4.42
- v2.4.41
- v2.4.40
- v2.4.39
- v2.4.38
- v2.4.37
- v2.4.36
- v2.4.35
- v2.4.34
- v2.4.33
- v2.4.32
- v2.4.31
- v2.4.30
- v2.4.29
- v2.4.28
- v2.4.27
- v2.4.26
- v2.4.25
- v2.4.24
- v2.4.23
- v2.4.22
- v2.4.21
- v2.4.20
- v2.4.19
- v2.4.18
- v2.4.17
- v2.4.16
- v2.4.15
- v2.4.14
- v2.4.13
- v2.4.12
- v2.4.11
- v2.4.10
- v2.4.9
- v2.4.8
- v2.4.7
- v2.4.6
- v2.4.5
- v2.4.4
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.17
- v2.3.16
- v2.3.15
- v2.3.14
- v2.3.13
- v2.3.12
- v2.3.11
- v2.3.10
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.1
- v1.0.0
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.11
- v0.10.10
- v0.10.9
- v0.10.8
- v0.10.7
- dev-feature/git-subtree-for-split-1
- dev-feature/git-subtree-for-split
- dev-feature/easy-async-refactor
- dev-3.x-split-test
- dev-feature/exception-to-status-code
- dev-feature/easy-request-id
- dev-feature/easy-bugsnag
- dev-feature/error-handler-framework-agnostic
- dev-integration/easy-api-token-and-easy-security
- dev-feature/aws-credentials-finder
- dev-feature/aws-sso-access-token
- dev-feature/easy-webhook-profiler
- dev-feature/easy-webhooks
- dev-feature/refactor-easy-security
- dev-feature/refactory-easy-api-token
- dev-feature/search-in-easy-core
- dev-feature/improve-data-persister-structure
- dev-feature/improve-easy-ssm-console-export
- dev-feature/make-commands
- dev-feature/persister-route-paremeters-aware
- dev-hotfix/data-persister-decoration-priority
- dev-feature/auto-configure-doctrine-listeners
- dev-feature/enhance-api-platform
- dev-whitesource/configure
- dev-feature/migrate-core-bundle
- dev-HEAD
- dev-feature/new-branch-for-split-test
- dev-feature/new-branch-for-split-test-1
- dev-feature/easy-async-package
- dev-feature/easier-permissions
- dev-feature/easy-test-package
This package is auto-updated.
Last update: 2024-12-19 05:24:56 UTC
README
---eonx_docs--- title: Introduction weight: 0 ---eonx_docs---
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.
$ composer require eonx/psr7-factory
How it works
You are working on a PHP application using the well known Symfony HttpFoundation Component 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/Lumen 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 about it or event a Pull Request to help us grow the package.