Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
<?php // routes/web.php use Illuminate\Support\Facades\Route; use App\Http\Controllers\Admin\DashboardController; use App\Http\Controllers\Admin\UserController; use App\Http\Controllers\PostController; // Group with middleware and prefix Route::middleware(['auth', 'verified'])->prefix('admin')->name('admin.')->group(function () { Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard'); Route::resource('users', UserController::class); }); // API versioning group Route::prefix('api/v1')->middleware('throttle:60,1')->group(function () { Route::get('/posts', [PostController::class, 'index']); Route::post('/posts', [PostController::class, 'store']); }); // Route model binding — Laravel auto-fetches Post by {post} id Route::get('/posts/{post}', function (\App\Models\Post $post) { return $post; // 404 if not found automatically }); // Custom binding key (use slug instead of id) Route::get('/posts/{post:slug}', [PostController::class, 'show']); // Fallback route (matches any undefined URL) Route::fallback(function () { return response()->view('errors.404', [], 404); });
Result
Open