Lumen package to help you customize your routes.
Specialize for whom using lumen,
If you don't you better do now, Lumen is stunningly micro-framework Faster 4x than laravel.
composer require lararoutes/lumen-custom-routes
Add those lines in top of routes/web.php
use Lararoutes\Lumen\CustomRoutes; $app = new CustomRoutes($router);
That's it. done
Instead of doing this shit
$router->get('posts', 'PostController@index'); $router->post('posts', 'PostController@store'); $router->get('posts/{id}', 'PostController@show'); $router->put('posts/{id}', 'PostController@update'); $router->delete('posts/{id}', 'PostController@destroy');
We can simple do this now
$app->apiResource('posts', 'PostController');
However, you can also custom your routes as much as u want in Lararoutes\Lumen\CustomRoutes.php
function apiResoruce($uri, $controller) { $this->app->get($uri, $controller.'@index'); $this->app->post($uri, $controller.'@store'); $this->app->get($uri.'/{id}', $controller.'@show'); $this->app->put($uri.'/{id}', $controller.'@update'); $this->app->delete($uri.'/{id}', $controller.'@destroy'); // feel free to add more.. }
Another example for what you can do else
Instead of doing this
$router->group(['prefix' => 'auth'], function ($router) { $router->post('resister', 'AuthController@register'); $router->post('login', 'AuthController@login'); $router->post('logout', 'AuthController@logout'); $router->post('refresh', 'AuthController@refresh'); $router->get('me', 'AuthController@me'); }
You can just drop one line like that
$app->authResource('auth', 'AuthController');
Just create new function authResource in Lararoutes\Lumen\CustomRoutes.php
function authResource($uri, $controller) { $this->app->post($uri.'/register', $controller.'@register'); $this->app->post($uri.'/login', $controller.'@login'); $this->app->post($uri.'/logout', $controller.'@logout'); $this->app->post($uri.'/refresh', $controller.'@refresh'); $this->app->get($uri.'/me', $controller.'@me'); }
You are welcome :)
The MIT License (MIT). Please see License File for more information.