Ryllaz / lumen-default-routes

Default "module/controller/action" style Routes for lumen

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Default Routes For Lumen

build status

With this library, you can easily add "module/controller/action" style routes for Lumen.

Install

Suggest install it via composer:

composer require clarence/lumen-default-routes

Then, register the DefaultRouteProvider. For lumen, please register \Clarence\LumenDefaultRoutes\DefaultRouteProvider::class in bootstrap/app.php.

// bootstrap/app.php

$app = new Laravel\Lumen\Application(
    realpath(__DIR__.'/../')
);

//...

$app->group(['namespace' => 'App\Http\Controllers'], function ($app) {
    require __DIR__.'/../app/Http/routes/main_routes.php';
});

$app->register(Clarence\LumenDefaultRoutes\DefaultRouteProvider::class); // add: register default routes below registered all your own routes

Routes Maps

foo/bar will be mapped to \App\Http\Controllers\FooController@doGetBar by default.

Note:

  1. \App\Http\Controllers\ is the namespace prefix of the controller. It can be configurated as default-routes.controller-prefix.
  2. In FooController, Controller is the class name suffix. It can be configurated as default-routes.controller-suffix.
  3. doGetBar is the actual method to be executed. It is do + <HTTP_METHOD> + <action>. And it should be a public method. Otherwise a 404 or 405 HTTP error will be thrown.
  4. If \App\Http\Controllers\FooController@doGetBar cannot be found, \App\Http\Controllers\Foo\BarController@doGetIndex will be tried.

About

Default "module/controller/action" style Routes for lumen


Languages

Language:PHP 100.0%