An open API service indexing awesome lists of open source software.

https://github.com/mahmoud-italy/lararoutes-lumen-custom-routes

Lumen package to help you custom your routes apiResources.
https://github.com/mahmoud-italy/lararoutes-lumen-custom-routes

apiresources lararoutes lumen resources routes routes-api

Last synced: 6 months ago
JSON representation

Lumen package to help you custom your routes apiResources.

Awesome Lists containing this project

README

          

# Lumen Custom Routes
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/Mahmoud-Italy/Lararoutes-lumen-custom-routes/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/Mahmoud-Italy/Lararoutes-lumen-custom-routes/?branch=master)
[![Build Status](https://scrutinizer-ci.com/g/Mahmoud-Italy/Lararoutes-lumen-custom-routes/badges/build.png?b=master)](https://scrutinizer-ci.com/g/Mahmoud-Italy/Lararoutes-lumen-custom-routes/build-status/master)
[![Code Intelligence Status](https://scrutinizer-ci.com/g/Mahmoud-Italy/Lararoutes-lumen-custom-routes/badges/code-intelligence.svg?b=master)](https://scrutinizer-ci.com/code-intelligence)
Total Downloads

![lumen-custom-routes](assets/background.png)

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.