Skip to content

most lightweight PSR-7 / PSR-17 HTTP message implementation for PHP 8+

License

Notifications You must be signed in to change notification settings

f3-factory/fatfree-psr7

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fat-Free PSR-7 implementation

This is a lightweight PSR-7 implementation for PHP 8.0+.

Installation

composer require f3-factory/fatfree-psr7

Usage

The package includes a PSR-17 factory.

Use these factories according to specs to create Request, Response, Uri, Stream objects.

Tests

Run the test suite:

composer test

NB: Custom tests were mostly taken from Nyholm/psr7.

Benchmarks

Benchmarks done with devanych/psr-http-benchmark on php 8.0+.

Checkout benchmark branch, start docker composer, then run in container:

COMPOSER_ROOT_VERSION=1.0 composer update

Run benchmarks on php 8.0+:

cd benchmark/
php benchmark.php fatfree 50000

Test results (best of 3 on MacBook M2 Pro)

Runs: 50,000 Guzzle HttpSoft Laminas Nyholm Slim Fatfree
Runs per second 14412 18608 17641 20549 14444 22233
Average time per run 0.0694 ms 0.0537 ms 0.0567 ms 0.0487 ms 0.0692 ms 0.0450 ms
Total time 3.4691 s 2.6869 s 2.8342 s 2.4331 s 3.4616 s 2.2488 s

About

most lightweight PSR-7 / PSR-17 HTTP message implementation for PHP 8+

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published