PHPackages                             jpirnat/middleware - 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. [Framework](/categories/framework)
4. /
5. jpirnat/middleware

ActiveLibrary[Framework](/categories/framework)

jpirnat/middleware
==================

PSR-15 middleware dispatcher using PSR-11 to retrieve middlewares

4.0.1(3y ago)02.5kPHPPHP &gt;=7.4

Since Mar 9Pushed 3y ago1 watchersCompare

[ Source](https://github.com/jpirnat/middleware)[ Packagist](https://packagist.org/packages/jpirnat/middleware)[ RSS](/packages/jpirnat-middleware/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (5)Versions (7)Used By (0)

This is a basic PSR-15 middleware dispatcher using PSR-11 ContainerInterface to retrieve middlewares.

Usage
-----

[](#usage)

```
$app = function (ServerRequestInterface $request) : ResponseInterface {
    // This closure will be executed at the center of the middleware stack.
    // Use it to wrap your application, or to return a default response.
}

$dispatcher = new Dispatcher($container, $app);

$dispatcher->addMiddlewares([
    ExampleMiddleware::class, // identifiers for $container
    // ...
]);

$response = $dispatcher->handle($request);
```

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~446 days

Recently: every ~553 days

Total

6

Last Release

1163d ago

Major Versions

1.0.0 → 2.0.02017-03-27

2.0.0 → 3.0.02018-01-23

3.0.1 → 4.0.02021-03-25

PHP version history (3 changes)1.0.0PHP ^7.0

3.0.1PHP ^7.1

4.0.0PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/7473049c4580b50d5de33398d59a6bfe6417bf055433a732e487b0be9029c5a2?d=identicon)[jpirnat](/maintainers/jpirnat)

---

Top Contributors

[![jpirnat](https://avatars.githubusercontent.com/u/1356673?v=4)](https://github.com/jpirnat "jpirnat (8 commits)")

### Embed Badge

![Health badge](/badges/jpirnat-middleware/health.svg)

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

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k19.1M1.7k](/packages/cakephp-cakephp)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[slim/slim

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs

12.3k51.8M1.4k](/packages/slim-slim)[typo3/cms-core

TYPO3 CMS Core

3312.9M4.8k](/packages/typo3-cms-core)[thecodingmachine/graphqlite

Write your GraphQL queries in simple to write controllers (using webonyx/graphql-php).

5733.2M40](/packages/thecodingmachine-graphqlite)

PHPackages © 2026

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