mojtabaahn / laravel-controller-routes
Adds Controller Centered Routes to Laravel
1.0.0-alpha.1
2020-08-18 13:16 UTC
Requires
- php: ^7.4
Requires (Dev)
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-12-09 04:35:42 UTC
README
Requirement
This package requires PHP 7.4 or higher.
Installation
You can install the package via composer:
composer require mojtabaahn/laravel-controller-routes
Usage
<?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'); });
Testing
composer test
License
The MIT License (MIT). Please see License File for more information.