PHPackages                             psg/psr-100-implementation - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. psg/psr-100-implementation

ActiveLibrary[HTTP &amp; Networking](/categories/http)

psg/psr-100-implementation
==========================

A fast PHP7 implementation of PSR-100

0.2(4y ago)0692MITPHPPHP &gt;=7.1

Since Jul 9Pushed 4y ago1 watchersCompare

[ Source](https://github.com/PHP-SG/psr-100-implementation)[ Packagist](https://packagist.org/packages/psg/psr-100-implementation)[ Docs](https://php-sg.org)[ GitHub Sponsors](https://github.com/Zegnat)[ GitHub Sponsors](https://github.com/nyholm)[ RSS](/packages/psg-psr-100-implementation/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)Dependencies (7)Versions (3)Used By (2)

See [Nyholm/psr7](https://github.com/Nyholm/psr7)

In porting Nyholm/psr7, some issues came up:

1. can't extend an interface and overwrite a method with a method taking an extended interface type:

```
interface x{
	public function bob();
}
interface y extends x{
	public function bill();
}

interface bob{
	public function process(x $bob);
}
interface sue extends bob{
	public function process(y $bob);
}
```

2. But I can extend with different return values

```
interface x{
	public function bob();
}
interface y extends x{
	public function bill();
}

interface bob{
	public function process(x $bob): x;
}
interface sue extends bob{
	public function process(x $bob): y;
}
```

3. same case with `implement`. As such, original Psr interfaces are used where necessary.
4. since PHP does not offer the ability to have a static and non-static method of the same name, Stream::create, which interferes with the new interface, has become Stream::defaultCreate. Here, the concept is, the static version of create will use a default configuration for stream creation.
5. tests written for Response to accept status string, but status typed as int in \_\_construct. Remove int type declaration.
6. error occurs in phpunit tests on tests/UploadedFileTest.php cleanup when \\file\_exists encounters non-string. Conformed input to string.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 68.7% 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 ~2 days

Total

2

Last Release

1772d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4543facab3c88d548b98d8472b532faf7bcd00555cc47c0dc808d935f8d3d73f?d=identicon)[grithin](/maintainers/grithin)

---

Top Contributors

[![Nyholm](https://avatars.githubusercontent.com/u/1275206?v=4)](https://github.com/Nyholm "Nyholm (112 commits)")[![Zegnat](https://avatars.githubusercontent.com/u/490579?v=4)](https://github.com/Zegnat "Zegnat (25 commits)")[![nicolas-grekas](https://avatars.githubusercontent.com/u/243674?v=4)](https://github.com/nicolas-grekas "nicolas-grekas (3 commits)")[![grithin](https://avatars.githubusercontent.com/u/7241358?v=4)](https://github.com/grithin "grithin (3 commits)")[![rancoud](https://avatars.githubusercontent.com/u/1884186?v=4)](https://github.com/rancoud "rancoud (2 commits)")[![sunkan](https://avatars.githubusercontent.com/u/568492?v=4)](https://github.com/sunkan "sunkan (2 commits)")[![Groruk](https://avatars.githubusercontent.com/u/5796460?v=4)](https://github.com/Groruk "Groruk (1 commits)")[![iambrosi](https://avatars.githubusercontent.com/u/297102?v=4)](https://github.com/iambrosi "iambrosi (1 commits)")[![kamalkhan](https://avatars.githubusercontent.com/u/4675979?v=4)](https://github.com/kamalkhan "kamalkhan (1 commits)")[![mindplay-dk](https://avatars.githubusercontent.com/u/103348?v=4)](https://github.com/mindplay-dk "mindplay-dk (1 commits)")[![nickdnk](https://avatars.githubusercontent.com/u/8411314?v=4)](https://github.com/nickdnk "nickdnk (1 commits)")[![andreybolonin](https://avatars.githubusercontent.com/u/2576509?v=4)](https://github.com/andreybolonin "andreybolonin (1 commits)")[![cseufert](https://avatars.githubusercontent.com/u/1734519?v=4)](https://github.com/cseufert "cseufert (1 commits)")[![peter279k](https://avatars.githubusercontent.com/u/9021747?v=4)](https://github.com/peter279k "peter279k (1 commits)")[![ppetermann](https://avatars.githubusercontent.com/u/69334?v=4)](https://github.com/ppetermann "ppetermann (1 commits)")[![reedy](https://avatars.githubusercontent.com/u/67615?v=4)](https://github.com/reedy "reedy (1 commits)")[![samdark](https://avatars.githubusercontent.com/u/47294?v=4)](https://github.com/samdark "samdark (1 commits)")[![Spomky](https://avatars.githubusercontent.com/u/1091072?v=4)](https://github.com/Spomky "Spomky (1 commits)")[![Tracerneo](https://avatars.githubusercontent.com/u/660285?v=4)](https://github.com/Tracerneo "Tracerneo (1 commits)")[![dbu](https://avatars.githubusercontent.com/u/76576?v=4)](https://github.com/dbu "dbu (1 commits)")

---

Tags

psr-7psr-17psr-100

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/psg-psr-100-implementation/health.svg)

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

###  Alternatives

[psr/http-factory

PSR-17: Common interfaces for PSR-7 HTTP message factories

1.9k692.9M1.9k](/packages/psr-http-factory)[symfony/psr-http-message-bridge

PSR HTTP message bridge

1.3k296.6M807](/packages/symfony-psr-http-message-bridge)[nyholm/psr7

A fast PHP7 implementation of PSR-7

1.3k235.4M2.4k](/packages/nyholm-psr7)[laminas/laminas-diactoros

PSR HTTP Message implementations

548105.8M965](/packages/laminas-laminas-diactoros)[nyholm/psr7-server

Helper classes to handle PSR-7 server requests

9521.1M307](/packages/nyholm-psr7-server)[laminas/laminas-stratigility

PSR-7 middleware foundation for building and dispatching middleware pipelines

586.6M81](/packages/laminas-laminas-stratigility)

PHPackages © 2026

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