componenta / http-psr
Server request creator integration for PSR HTTP factories in Componenta
Requires
- php: ^8.4
- componenta/config: ^1.0
- nyholm/psr7-server: ^1.1
- psr/container: ^2.0
- psr/http-message: ^2.0
README
Server request creation integration for Componenta HTTP. The package registers Nyholm\Psr7Server\ServerRequestCreatorInterface from PSR-17 factories and provides small request-aware contracts.
It intentionally does not install a concrete PSR-7 implementation. Install one integration package such as componenta/http-psr-nyholm, componenta/http-psr-diactoros, componenta/http-psr-guzzle, or componenta/http-psr-slim.
Installation
composer require componenta/http-psr componenta/http-psr-nyholm
Configuration
Componenta\Http\ConfigProvider registers ServerRequestCreatorInterface. It requires these PSR-17 services in the container:
ServerRequestFactoryInterfaceUriFactoryInterfaceUploadedFileFactoryInterfaceStreamFactoryInterface
Concrete integration packages provide those aliases.
Request-Aware Contracts
ServerRequestAwareInterface declares a set-only property:
public ServerRequestInterface $serverRequest { set; }
ServerRequestProviderInterface declares a get-only property for services that expose the current request. ServerRequestAware is a trait that implements both get and set behavior for classes that need to store the current request.
Related Packages
componenta/app-httpuses this package to create the current server request.- PSR-7 integration packages provide concrete factories.