PHPackages                             jder/psr - 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. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. jder/psr

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

jder/psr
========

A response builder for PSR

0.2.0(2mo ago)11MITPHPPHP ^8.1.0CI passing

Since Dec 14Pushed 2mo agoCompare

[ Source](https://github.com/jderstd/psr)[ Packagist](https://packagist.org/packages/jder/psr)[ Docs](https://github.com/jderstd/psr)[ RSS](/packages/jder-psr/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (5)Used By (0)

JDER PSR
========

[](#jder-psr)

A response builder for PSR.

This package includes different response builders based on the JSON response structure specified in [JSON Data Errors Response (JDER)](https://github.com/jderstd/spec). With the builders, various kinds of responses can be created easily instead of sending plain text responses.

Installation
------------

[](#installation)

Install this package as a dependency in the project:

```
composer require jder/psr
```

Quick Start
-----------

[](#quick-start)

To create a JSON response, use the following code:

```
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Jder\Psr\Json\CreateJsonResponse;

function route(
    Request $request,
    Response $response,
): Response {
    return CreateJsonResponse::success($response)->create();
}
```

And the response will be shown as below:

```
{
    "success": true,
    "data": null,
    "errors": []
}
```

Documentation
-------------

[](#documentation)

For the documentation,please refer to the [documentation](https://github.com/jderstd/psr/blob/main/docs/README.md).

Contributing
------------

[](#contributing)

For contributing, please refer to the [contributing guide](https://github.com/jderstd/psr/blob/main/CONTRIBUTING.md).

License
-------

[](#license)

This project is licensed under the terms of the MIT license.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance88

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

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

Total

2

Last Release

61d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1929152701eca8e298c656f217abb12c733870fa6acc3c50b356f0e5c74eba6d?d=identicon)[alpheusmtx](/maintainers/alpheusmtx)

---

Top Contributors

[![alpheusmtx](https://avatars.githubusercontent.com/u/26622568?v=4)](https://github.com/alpheusmtx "alpheusmtx (48 commits)")

---

Tags

builderjderjsonphppsrresponseresponsepsrphpjder

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jder-psr/health.svg)

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

###  Alternatives

[lctrs/psalm-psr-container-plugin

Let Psalm understand better psr11 containers

17648.1k13](/packages/lctrs-psalm-psr-container-plugin)

PHPackages © 2026

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