api de gestion de ticket, basé sur php-crud-api. Le but est de décorrélé les outils de gestion des données, afin
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Maurits van der Schee 09cfbb2883 wip 5 anos atrás
..
src wip 5 anos atrás
CHANGELOG.md wip 5 anos atrás
LICENSE wip 5 anos atrás
README.md wip 5 anos atrás
composer.json wip 5 anos atrás
phpstan.neon.dist wip 5 anos atrás

README.md

PSR-7 implementation

Latest Version Build Status Code Coverage Quality Score Total Downloads Monthly Downloads Software License

A super lightweight PSR-7 implementation. Very strict and very fast.

Description Guzzle Zend Slim Nyholm
Lines of code 3 000 3 000 1 700 1 000
PHP7 No Yes No Yes
PSR-7* 66% 100% 75% 100%
PSR-17 No Yes Yes Yes
HTTPlug No No No Yes
Performance** 1.34x 1x 1.16x 1.75x

* Percent of completed tests in https://github.com/php-http/psr7-integration-tests

** See benchmark at https://github.com/Nyholm/http-client-benchmark (higher is better)

Installation

composer require nyholm/psr7

If you are using Symfony Flex then you get all message factories registered as services.

Usage

The PSR-7 objects do not contain any other public methods then those defined in the PSR-7 specification.

Create objects

Use the PSR-17 factory to create requests, streams, URIs etc.

$factory = new \Nyholm\Psr7\Factory\Psr17Factory();
$request = $factory->createRequest('GET', 'http://tnyholm.se');
$stream = $factory->createStream('foobar');

Sending a request

With HTTPlug or any other PSR-18 (HTTP client) you may send requests like:

composer require kriswallsmith/buzz
$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory();
$psr18Client = new Buzz\Client\Curl($psr17Factory);

$request = (new Psr17Factory())->createRequest('GET', 'http://tnyholm.se');
$response = $psr18Client->sendRequest($request);

Create server requests

The nyholm/psr7-server package can be used to create server requests from PHP superglobals.

composer require nyholm/psr7-server
use Nyholm\Psr7\Factory\Psr17Factory;

$psr17Factory = new Psr17Factory();

$creator = new ServerRequestCreator(
    $psr17Factory, // ServerRequestFactory
    $psr17Factory, // UriFactory
    $psr17Factory, // UploadedFileFactory
    $psr17Factory  // StreamFactory
);

$serverRequest = $creator->fromGlobals();

Emitting a response

composer require zendframework/zend-httphandlerrunner
$response = (new Psr17Factory())->createReponse('200', 'Hello world');
(new \Zend\HttpHandlerRunner\Emitter\SapiEmitter())->emit($response);

Our goal

This package is currently maintained by Tobias Nyholm and Martijn van der Ven. They have decided that the goal of this library should be to provide a super strict implementation of PSR-7 that is blazing fast.

The package will never include any extra features nor helper methods. All our classes and functions exist because they are required to fulfill the PSR-7 specification.