A simple Implicit Router/Controller Router for Laravel whose version >= 5.2 ( 5.5 tested )
jetwaves/laravel-implicit-router is a Laravel package for a simple implicit router/controller router for laravel whose version >= 5.2 ( 5.5 tested ) .
It currently has 2 GitHub stars and 7.319 downloads on Packagist (latest version v1.1.0).
Install it with composer require jetwaves/laravel-implicit-router.
Discover more Laravel packages by jetwaves
or browse all Laravel packages to compare alternatives.
Last updated
A simple Implicit Implicit Router/ Controller Router for Laravel whose version >= 5.2 ( 5.5 tested )
CREDIT TO dingo/api and laravel framework
(exemple tested working well in Laravel 5.5 / should be the same in Laravel 5.2 5.3 5.4 )
From Laravel 5.2, the feature implicit controller routing has been removed.
But some projects have thousands of routing rules to declare.
run command:
composer require jetwaves/laravel-implicit-router
in your api.php or web.php in routes, add this following lines (1).
<?php
$api = app('Jetwaves\LaravelImplicitRouter\Router');
$api->controller('URI_PREFIX', 'App\Http\Controllers\TestController');
in your App/Http/Controllers/TestController.php, add a function like
<?php
public function getShowMeTheMoney(Request $req){
return '10000 gold';
}
then we can access this controller by http://hostname/URI_PREFIX/show-me-the-money and get the following response in your browser. Just like the implicit controller routing of Laravel 5.1 at old time.
10000 gold
All Http method keywords are allowed to be the prefix of Camel Type function name to serve correspondent http methods.
When function does not exists, you'll get a 404 of laravel itself.
Declare explicit routes in the original way. (nothing changed)
code snippet (1) could be used in a closure of middlewares.
Route::middleware(['test'])->group(function () {
$api = app('Jetwaves\LaravelImplicitRouter\Router');
$api->controller('URI_PREFIX', 'App\Http\Controllers\TestController');
});
when the 'test' middleware do
echo 'starcraft tricks :'
and you access http://hostname/URI_PREFIX/show-me-the-money, you'il get
starcraft tricks : 10000 gold
in browser.