kosmosx/laravel-response

Laravel和Lumen框架的响应服务。

1.0.0 2019-08-24 11:28 UTC

This package is auto-updated.

Last update: 2024-09-25 07:12:33 UTC


README

开始吧

Composer

composer require kosmosx/laravel-response

Laravel / Lumen 注册提供者

Kosmosx\Response\Laravel\ResponseServiceProvider

注册处理器异常(LaravelHandler或LumenHandler)

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

使用

use Kosmosx\Response\RestResponse;
use RestResponse; //Facade alias 
use FactoryResponse; //Or use factory class

基准测试

相同PC硬件(RAM:16GB(2x8 GB)DDR4 2133 MHz,CPU:Intel Core i5 7400 四核 & 4 线程 3.0GHz)

Illuminate/Response

响应重量 4.26Mb 在 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

响应重量 3.6Mb 在 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);

响应重量 3.6Mb 在 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);

结果

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

en: 文档

it: 文档

如果您发现错误或想贡献,请发邮件到 developer@fabriziocafolla.com