hydrakit / nyholm
Nyholm PSR-7/PSR-17 adapter for the Hydra PHP framework
Requires
- php: >=8.2
- hydrakit/http: ^0.1
- nyholm/psr7: ^1.8
- nyholm/psr7-server: ^1.0
- psr/http-message: ^2.0
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-07-07 19:05:05 UTC
README
The one place the framework names a concrete PSR-7/PSR-17 implementation.
hydrakit/http is deliberately free of any PSR-7 vendor — it depends only on the
PSR interfaces and defines a ServerRequestProviderInterface seam for building
the incoming request from the environment. This package is the default adapter
that fills that seam with nyholm/psr7.
Usage
use Hydra\Nyholm\NyholmRequestProvider; use Nyholm\Psr7\Factory\Psr17Factory; $factory = new Psr17Factory; // implements every PSR-17 factory interface $provider = NyholmRequestProvider::create($factory); $request = $provider->fromGlobals(); // a PSR-7 ServerRequestInterface
The app's service provider binds ServerRequestProviderInterface to this, and
binds Psr17Factory as the PSR-17 response/stream factory the rest of the app
resolves.
Swapping it out
Because consumers depend on Hydra\Http\Contracts\ServerRequestProviderInterface
(and the PSR-17 factory interfaces), an app that prefers a different PSR-7
library simply doesn't require this package: it binds its own provider and
factories. Nothing in the framework reaches for nyholm directly.