With this library, you can easily add "module/controller/action" style routes for Laravel.
Suggest install it via composer:
composer require clarence/laravel-default-routes
Then, register the DefaultRouteProvider
. For example, add \Clarence\LaravelDefaultRoutes\DefaultRouteProvider::class
to the providers
section in config/app.php
.
// config/app.php
return [
//...
'providers' => [
//...
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Clarence\LaravelDefaultRoutes\DefaultRouteProvider::class, // add DefaultRouteProvider below the RouteServiceProvider
//...
],
//...
];
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 aslaravel-default-routes.controller-prefix
.- In
FooController
,Controller
is the class name suffix. It can be configurated aslaravel-default-routes.controller-suffix
. doGetBar
is the actual method to be executed. It isdo
+<HTTP_METHOD>
+<action>
. And it should be apublic
method. Otherwise a404
or405
HTTP error will be thrown.- If
\App\Http\Controllers\FooController@doGetBar
cannot be found,\App\Http\Controllers\Foo\BarController@doGetIndex
will be tried.