This package requires PHP 7.4 or higher.
You can install the package via composer:
composer require mojtabaahn/laravel-controller-routes
<?php
// routes/web.php
use MojtabaaHN\LaravelControllerRoutes\Routes;
use Illuminate\Support\Facades\Route;
Routes::make('UserController')->methods(function (ControllerAwareRouter $router) {
$router->get('user/{user}', 'profile')->name('user.profile');
$router->get('user/{user}/post/{post}','post')->name('user.post');
});
// Or
Routes::make()
->controller('UserController')
->methods(function (ControllerAwareRouter $router) {
$router->get('user/{user}', 'profile')->name('user.profile');
$router->get('user/{user}/post/{post}','post')->name('user.post');
});
// Same as
Route::get('user/{user}', 'UserController@profile')->name('user.profile');
Route::get('user/{user}/post/{post}','UserController@posts')->name('user.posts');
// Using RouteRegistrar methods
Routes::make()
->prefix('user/{user}')
->name('user.')
->middleware('web')
->controller('UserController')
->methods(function (ControllerAwareRouter $router) {
$router->get('/', 'profile')->name('profile');
$router->get('posts','posts')->name('posts');
});
// same as
Route::prefix('user/{user}')
->name('user.')
->middleware('web')
->group(function(){
Route::get('/', 'UserController@profile')->name('profile');
Route::get('posts','UserController@posts')->name('posts');
});
composer test
The MIT License (MIT). Please see License File for more information.