Topics Laravel Basics Routing Fundamentals
beginner 14 min read

Routing Fundamentals

Web routes, route parameters, named routes, route groups, and the route:list artisan command.

Routing in Laravel

Routes are defined in routes/web.php for web routes and routes/api.php for API routes.

use Illuminate\Support\Facades\Route;

Route::get("/", function () {
return view("welcome");
});

Route::get("/users/{id}", function (string $id) {
return "User ".$id;
})->name("users.show");

Route Parameters

// Required parameters
Route::get("/posts/{post}", [PostController::class, "show"]);

// Optional parameters
Route::get("/search/{query?}", function (?string $query = null) {
return "Searching: ".($query ?? "all");
});

// Regular expression constraints
Route::get("/users/{id}", function (string $id) {
//
})->where("id", "[0-9]+");

Named Routes

Route::get("/profile", [ProfileController::class, "show"])->name("profile");

// Generate URLs
$url = route("profile");
$url = route("users.show", ["id" => 5]);

Route Groups

Route::middleware(["auth"])->prefix("admin")->group(function () {
Route::get("/dashboard", [AdminController::class, "dashboard"]);
Route::resource("users", UserController::class);
});

Laravel 13: Route Caching

Laravel 13 supports php artisan route:cache with improved serialization and Folio integration. Use php artisan route:list to inspect all registered routes.

Examples

<?php
// routes/web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/{user}', [UserController::class, 'show'])->where('user', '[0-9]+')->name('users.show');

Your Notes

Sign in to take notes for this lesson.

Quiz

Laravel Basics Quiz

0 questions

Sign in to take quiz

Discussion

Sign in to join the discussion.

Flashcards

Sign in to create flashcards.