Package Data | |
---|---|
Maintainer Username: | NekoOs |
Maintainer Contact: | neafand@gmail.com (Neder Alfonso Fandiño Andrade) |
Package Create Date: | 2019-09-05 |
Package Last Update: | 2019-09-05 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-02-06 15:03:36 |
Package Statistics | |
---|---|
Total Downloads: | 9 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 0 |
This library presents an alternative for replacing the default classes used by Lumen
composer require nekoos/lumen-response-trick
Suppose you have created a custom class for common responses
use Illuminate\Http\Response;
class MyOverrideResponse extends Response { ... }
and one for the json answers
use Illuminate\Http\JsonResponse;
class MyOverrideJsonResponse extends Response { ... }
Now you can add these lines to your initial load file
# path: bootstrap/app
use NekoOs\Override\Laravel\Lumen\Http\ResponseFactory;
ResponseFactory::use(MyOverrideResponse::class);
ResponseFactory::use(MyOverrideJsonResponse::class);
This are expected results
response('common messaje') # return instance of MyOverrideResponse
response()->json('common messaje') # return instance of MyOverrideJsonResponse
You could even use response instances according to specific conditions
# path: bootstrap/app
use NekoOs\Override\Laravel\Lumen\Http\ResponseFactory;
ResponseFactory::use(function (...$arguments) { ... }, Illuminate\Http\Response);
or even register a service provider
# path: app/Providers/MyResponseServiceProvider.php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Laravel\Lumen\Http\ResponseFactory;
use MyOverrideResponse;
class MyResponseServiceProvider extends ServiceProvider
{
/**
* register()
*/
public function register()
{
$view = $this->app->make('view');
$this->app->singleton(ResponseFactory::class, function () use ($view) {
return new MyOverrideResponse($view);
});
}
}