1. Go to this page and download the library: Download geckods/laravel-routes library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
geckods / laravel-routes example snippets
return [
// Path to search for route classes (supports glob patterns)
'path' => app_path('Http/**/*.php'),
// Namespace prefix for discovered route classes
'prefix_namespace' => 'App\\',
// Additional route classes not found in the path above
'other_routes' => [],
];
use GeckoDS\LaravelRoutes\Routes\RouteController;
// Load and execute all routes
(new RouteController())->handle();
namespace App\Http\Routes;
use Illuminate\Support\Facades\Route;
use GeckoDS\LaravelRoutes\Routes\AbstractRouteController;
class UserRoutes extends AbstractRouteController
{
public function handle()
{
Route::middleware('auth:sanctum')->group(function () {
Route::get('/users', [UserController::class, 'index']);
Route::post('/users', [UserController::class, 'store']);
Route::get('/users/{id}', [UserController::class, 'show']);
Route::put('/users/{id}', [UserController::class, 'update']);
Route::delete('/users/{id}', [UserController::class, 'destroy']);
});
}
}
namespace App\Http\Routes;
use Illuminate\Support\Facades\Route;
use GeckoDS\LaravelRoutes\Routes\AbstractRouteController;
class PublicRoutes extends AbstractRouteController
{
public function handle()
{
Route::group(['middleware' => 'throttle:60,1'], function () {
Route::get('/posts', [PostController::class, 'index']);
Route::get('/posts/{id}', [PostController::class, 'show']);
});
}
}
// For classes in App\Http\Routes\*
'prefix_namespace' => 'App\\Http\\Routes\\',
// For classes in App\*
'prefix_namespace' => 'App\\',
// For classes in App\Features\*\Routes\*
'prefix_namespace' => 'App\\Features\\',
namespace App\Http\Routes;
use GeckoDS\LaravelRoutes\Routes\AbstractRouteController;
use Illuminate\Support\Facades\Route;
class FeatureRoutes extends AbstractRouteController
{
public function handle()
{
if (config('features.new_api')) {
Route::prefix('v2')->group(function () {
Route::get('/data', [DataController::class, 'index']);
});
}
}
}
namespace App\Http\Routes;
use GeckoDS\LaravelRoutes\Routes\AbstractRouteController;
use Illuminate\Support\Facades\Route;
class AdminRoutes extends AbstractRouteController
{
public function handle()
{
Route::prefix('admin')->middleware('admin')->group(function () {
Route::prefix('users')->group(function () {
Route::get('/', [AdminUserController::class, 'index']);
Route::post('/', [AdminUserController::class, 'store']);
});
Route::prefix('settings')->group(function () {
Route::get('/', [AdminSettingsController::class, 'index']);
Route::post('/', [AdminSettingsController::class, 'update']);
});
});
}
}