Routing
Routes map HTTP requests to controllers or closures. Define them in routes/web.php.
Basic Routes
use DevPortal\Router;
Router::get('/', [HomeController::class, 'index']);
Router::get('/about', [PageController::class, 'about']);
Router::post('/login', [AuthController::class, 'login']);
Router::delete('/posts/{id}', [PostController::class, 'destroy']);
Named Parameters
Wrap segments in {curly} braces. They're passed as arguments to the controller method:
Router::get('/users/{id}/posts/{slug}', function($id, $slug) {
return "User $id — Post $slug";
});
Route Middleware
Attach middleware to a route or group:
Router::get('/dashboard', [DashController::class, 'index'])
->middleware('auth');
Router::group(['middleware' => ['auth', 'verified']], function () {
Router::get('/settings', [SettingsController::class, 'index']);
Router::post('/settings', [SettingsController::class, 'update']);
});
Named Routes
Router::get('/profile', [ProfileController::class, 'show'])->name('profile');
// Generate URL
$url = route('profile'); // → /profile
✅ Tip
Run
php devportal routes:list in the terminal to see all registered routes, methods, and middleware.