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";
});