PHPackages                             hydrakit/nyholm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. hydrakit/nyholm

ActiveLibrary[API Development](/categories/api)

hydrakit/nyholm
===============

Nyholm PSR-7/PSR-17 adapter for the Hydra PHP framework

v0.2.0(1mo ago)015↓60%1MITPHP &gt;=8.2

Since Jul 2Compare

[ Source](https://github.com/hydra-foundation/nyholm)[ Packagist](https://packagist.org/packages/hydrakit/nyholm)[ RSS](/packages/hydrakit-nyholm/feed)WikiDiscussions Synced 1w ago

READMEChangelogDependencies (6)Versions (4)Used By (1)

Hydra Nyholm
============

[](#hydra-nyholm)

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](https://github.com/Nyholm/psr7).

Usage
-----

[](#usage)

The app's composition root registers `NyholmServiceProvider` explicitly — this is the one line where an app names its PSR-7 vendor:

```
use Hydra\Nyholm\NyholmServiceProvider;

Kernel::application($container, $basePath)
    ->register(new NyholmServiceProvider)   // fills the PSR-7/17 seams
    ->register(new HttpServiceProvider(/* ... */))
    ->register(new AppServiceProvider);
```

The provider binds `Psr17Factory` (which implements every PSR-17 factory interface) as the `ResponseFactoryInterface`/`StreamFactoryInterface` the rest of the app resolves, and binds `ServerRequestProviderInterface` to the adapter:

```
use Hydra\Nyholm\NyholmRequestProvider;
use Nyholm\Psr7\Factory\Psr17Factory;

$factory  = new Psr17Factory;
$provider = NyholmRequestProvider::create($factory);

$request = $provider->fromGlobals(); // a PSR-7 ServerRequestInterface
```

Swapping it out
---------------

[](#swapping-it-out)

The kernel's `HttpServiceProvider` consumes only the PSR-17 factory interfaces and `Hydra\Http\Contracts\ServerRequestProviderInterface` — it binds no PSR-7 vendor. An app that prefers a different PSR-7 library simply doesn't require this package: it registers its own provider binding `ResponseFactoryInterface`, `StreamFactoryInterface`, and `ServerRequestProviderInterface` to its chosen implementation, in place of `NyholmServiceProvider` in the composition root. Nothing in the framework reaches for nyholm directly.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance90

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

3

Last Release

46d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a947272da0bf1d7d6326b4fbf6ddb8049977cbdbe333d0d1282dbb6f5927dfdf?d=identicon)[whleucka](/maintainers/whleucka)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hydrakit-nyholm/health.svg)

```
[![Health](https://phpackages.com/badges/hydrakit-nyholm/health.svg)](https://phpackages.com/packages/hydrakit-nyholm)
```

###  Alternatives

[moonshine/moonshine

Laravel administration panel

1.3k268.2k90](/packages/moonshine-moonshine)[getgrav/grav

Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS

15.6k88.1k1](/packages/getgrav-grav)[bref/bref

Bref is a framework to write and deploy serverless PHP applications on AWS Lambda.

3.4k11.0M75](/packages/bref-bref)[mollie/mollie-api-php

Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.

60316.6M98](/packages/mollie-mollie-api-php)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[simplesamlphp/saml2

SAML2 PHP library from SimpleSAMLphp

30418.3M44](/packages/simplesamlphp-saml2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
