Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork74
A super lightweight PSR-7 implementation
License
Nyholm/psr7
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A super lightweight PSR-7 implementation. Very strict and very fast.
Description | Guzzle | Laminas | Slim | Nyholm |
---|---|---|---|---|
Lines of code | 3.300 | 3.100 | 1.900 | 1.000 |
PSR-7* | 66% | 100% | 75% | 100% |
PSR-17 | No | Yes | Yes | Yes |
HTTPlug | No | No | No | Yes |
Performance (runs per second)** | 14.553 | 14.703 | 13.416 | 17.734 |
* Percent of completed tests inhttps://github.com/php-http/psr7-integration-tests
** Benchmark with 50.000 runs. Seehttps://github.com/devanych/psr-http-benchmark (higher is better)
composer require nyholm/psr7
If you are using Symfony Flex then you get all message factories registered as services.
The PSR-7 objects do not contain any other public methods than those defined inthePSR-7 specification.
Use the PSR-17 factory to create requests, streams, URIs etc.
$psr17Factory =new \Nyholm\Psr7\Factory\Psr17Factory();$request =$psr17Factory->createRequest('GET','http://tnyholm.se');$stream =$psr17Factory->createStream('foobar');
WithHTTPlug or any other PSR-18 (HTTP client) you may sendrequests like:
composer require kriswallsmith/buzz
$psr17Factory =new \Nyholm\Psr7\Factory\Psr17Factory();$psr18Client =new \Buzz\Client\Curl($psr17Factory);$request =$psr17Factory->createRequest('GET','http://tnyholm.se');$response =$psr18Client->sendRequest($request);
Thenyholm/psr7-server
package can be usedto create server requests from PHP superglobals.
composer require nyholm/psr7-server
$psr17Factory =new \Nyholm\Psr7\Factory\Psr17Factory();$creator =new \Nyholm\Psr7Server\ServerRequestCreator($psr17Factory,// ServerRequestFactory$psr17Factory,// UriFactory$psr17Factory,// UploadedFileFactory$psr17Factory// StreamFactory);$serverRequest =$creator->fromGlobals();
composer require laminas/laminas-httphandlerrunner
$psr17Factory =new \Nyholm\Psr7\Factory\Psr17Factory();$responseBody =$psr17Factory->createStream('Hello world');$response =$psr17Factory->createResponse(200)->withBody($responseBody);(new \Laminas\HttpHandlerRunner\Emitter\SapiEmitter())->emit($response);
This package is currently maintained byTobias Nyholm andMartijn van der Ven. They have decided that thegoal of this library should be to provide a super strict implementation ofPSR-7 that is blazing fast.
The package will never include any extra features nor helper methods. All our classesand functions exist because they are required to fulfill the PSR-7 specification.
About
A super lightweight PSR-7 implementation
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.