Skip to content

Mahmoud-Italy/Lararoutes-lumen-custom-routes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lumen Custom Routes

Scrutinizer Code Quality Build Status Code Intelligence Status Total Downloads

lumen-custom-routes

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.

Installation

composer require lararoutes/lumen-custom-routes

Usage

Add those lines in top of routes/web.php

  use Lararoutes\Lumen\CustomRoutes;
  $app = new CustomRoutes($router);

That's it. done

Example

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 :)

Credits

License

The MIT License (MIT). Please see License File for more information.