| Install | |
|---|---|
composer require clarence/lumen-default-routes |
|
| Latest Version: | v1.0.5 |
| PHP: | >=5.5 |
With this library, you can easily add "module/controller/action" style routes for Lumen.
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
foo/bar will be mapped to \App\Http\Controllers\FooController@doGetBar by default.
Note:
\App\Http\Controllers\ is the namespace prefix of the controller. It can be configurated as default-routes.controller-prefix.FooController, Controller is the class name suffix. It can be configurated as default-routes.controller-suffix.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.\App\Http\Controllers\FooController@doGetBar cannot be found, \App\Http\Controllers\Foo\BarController@doGetIndex will be tried.