Laravel Routing defines URLs behave in your laravel application

Routes Are Defined inside ?
1. Main Route file : routes/web.php
2. Route For APIs: routes/api.php

Method  Used By Route:

1. GET: Fetch data
2. POST: Submit data
3. PUT and PATCH: Update data
4. DELETE: Delete data


1. Basic GET Route

Route::get('/', function () {
   return "Home Page";
});


open url/ shows text Home Page when open this URL.

2. Controller Route

Route::get('/users', [UserController::class, 'index']);

3. Route with Parameter

Route::get('/user/{id}', function ($id) {
   return $id;
});

4. Route Model Binding

use App\Models\Post;
Route::get('/post/{post}', function (Post $post) {
   return $post;
});

Automatically fetch data from database

5. Route Group

Route::prefix('admin')->group(function () {
   Route::get('/dashboard', function () {
       return "Admin Dashboard";
   });
});

6. Middleware (Security)

Route::middleware('auth')->group(function () {
   Route::get('/profile', function () {
       return "Profile Page";
   });
});

7. Resource Route

use App\Http\Controllers\PostController;
Route::resource('posts', PostController::class);

8. API Resource

Route::apiResource('posts', PostController::class);

9. Named Route

Route::get('/dashboard', function () {
   return "Dashboard";
})->name('dashboard');

10. Redirect Route

Route::redirect('/old', '/new');

11. View Route

Route::view('/about', 'about');

12. Fallback Route (404)

Route::fallback(function () {
   return "Page Not Found";
});

13. Route with Condition

Route::get('/user/{id}', function ($id) {
   return $id;
})->whereNumber('id');

Laravel 11 shortcut (whereNumber)

14. Multiple HTTP Methods

Route::match(['get', 'post'], '/form', function () {
   return "Form";
});
Route::any('/all', function () {
   return "All Methods";
});