Skip to content
Response HTTP package for Simfony, Laravel, Lumen and PHP 7 with standard REST API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Readme.md
composer.json

Readme.md

Documentation

Let's go

Composer

composer require kosmosx/response

Laravel / Lumen register providers

Kosmosx\Response\Laravel\ResponseServiceProvider

Register handler Execptions (LaravelHandler or LumenHandler)

$this->app->singleton(
    \Illuminate\Contracts\Debug\ExceptionHandler::class,
    \Kosmosx\Response\Laravel\Exceptions\.....::class
);

Use

use Kosmosx\Response\RestResponse;
use RestResponse; //Facade alias

PHP 7.1

require __DIR__ . '/vendor/autoload.php';
$response = new Kosmosx\Response\RestResponse();

$handler = Kosmosx\Response\Exceptions\Handler();
$handler->setExceptionHandler();  

Benchmark

Same PC hardware (RAM: 16GB (2x8 GB) DDR4 2133 MHz, CPU: Intel Core i5 7400 Quad Core & 4 Thread 3.0GHz)

Illuminate/Response

Response weight 4.26Mb in 158~161ms

$app = array();
for ($x = 0; $x <= 1000; $x++) {
    $app[$x] = new JsonResponse(array('data'=>[true,false], "message" => 'Microservice Lumen work', "state" => "OK"));
}
return var_dump($app);

Kosmosx/Response

Response weight 3.6Mb in 148~151ms

$app = array();
for ($x = 0; $x <= 1000; $x++) {
    $app[$x] = new RestResponse(array('data'=>[true,false], "message" => 'Microservice Lumen work', "state" => "OK"));
}
return var_dump($app);

Response weight 3.6Mb in 220~223ms

$app = array();
for ($x = 0; $x <= 1000; $x++) {
    $app[$x] = $this->response->success()
        ->withMessage('Microservice Lumen work')
        ->withData(true)
        ->withData(false)
        ->withState();
}
return var_dump($app);

Results

Kosmosx/Response it is 15.50% smaller than Illuminate
Kosmosx/Response it is 6.3% faster than Illuminate (if use constructor)

en: documentation

it: documentazione


If you find a bug or want to contribute, write to developer@fabriziocafolla.com

You can’t perform that action at this time.