fast-forward / http-factory
Fast Forward PSR-7 HTTP Factory utility classes
v1.1.1
2025-08-01 20:56 UTC
Requires
- php: ^8.2
- fast-forward/container: ^1.5
- fast-forward/http-message: ^1.2
- nyholm/psr7-server: ^1.1
- psr/http-factory: ^1.1
Requires (Dev)
- coisa/php-cs-fixer: ^2.1
- phpspec/prophecy-phpunit: ^2.3
- phpunit/phpunit: ^9.6 || ^10.5 || ^11.5
This package is auto-updated.
Last update: 2025-08-01 20:57:49 UTC
README
A PSR-11 compatible service provider that registers a fully functional set of PSR-17 and PSR-7 HTTP factories using Nyholm PSR-7 and Nyholm ServerRequestCreator.
Designed to work out of the box with the php-fast-forward/container
autowiring system.
📦 Installation
composer require fast-forward/http-factory
✅ Features
- Registers the Psr17Factory as the base implementation for all PSR-17 interfaces
- Registers the ServerRequestCreator using InvokableFactory
- Provides ServerRequestInterface::class using fromGlobals() via MethodFactory
- Aliases:
- RequestFactoryInterface
- ResponseFactoryInterface
- ServerRequestFactoryInterface
- StreamFactoryInterface
- UploadedFileFactoryInterface
- UriFactoryInterface
🛠️ Usage
If you’re using fast-forward/container
:
use FastForward\Container\container; use FastForward\Config\ArrayConfig; use FastForward\Container\ContainerInterface; $config = new ArrayConfig([ ContainerInterface::class => [ // Reference the service provider by class name HttpMessageFactoryServiceProvider::class, ], ]); $container = container($config); $requestFactory = $container->get(Psr\Http\Message\RequestFactoryInterface::class); $serverRequest = $container->get(Psr\Http\Message\ServerRequestInterface::class);
🔧 Services Registered
The following services will be automatically registered in your container when using HttpMessageFactoryServiceProvider
:
Service Interface | Implementation Source |
---|---|
Psr\Http\Message\RequestFactoryInterface |
Nyholm\Psr7\Factory\Psr17Factory (via alias) |
Psr\Http\Message\ResponseFactoryInterface |
Nyholm\Psr7\Factory\Psr17Factory (via alias) |
Psr\Http\Message\ServerRequestFactoryInterface |
Nyholm\Psr7\Factory\Psr17Factory (via alias) |
Psr\Http\Message\StreamFactoryInterface |
Nyholm\Psr7\Factory\Psr17Factory (via alias) |
Psr\Http\Message\UploadedFileFactoryInterface |
Nyholm\Psr7\Factory\Psr17Factory (via alias) |
Psr\Http\Message\UriFactoryInterface |
Nyholm\Psr7\Factory\Psr17Factory (via alias) |
Nyholm\Psr7\Factory\Psr17Factory |
Registered via InvokableFactory |
Nyholm\Psr7Server\ServerRequestCreator |
Registered via InvokableFactory , with dependencies |
Psr\Http\Message\ServerRequestInterface |
Created by calling fromGlobals() on ServerRequestCreator via MethodFactory |
📂 License
This package is open-source software licensed under the MIT License.
🤝 Contributing
Contributions, issues, and feature requests are welcome!
Feel free to open a GitHub Issue or submit a Pull Request.