Named Routes: Parameter Substitution and URL Generation


Parameter substitution in named routes and generate URLs dynamically, including handling optional parameters and generating URLs in views and redirects.

// Define named routes with optional parameters
Route::get('post/{post}/comment/{comment?}', [CommentController::class, 'show'])
    ->name('post.comment');

// Generate URL with required and optional parameters
$url = route('post.comment', ['post' => 1, 'comment' => 5]);

// Generate URL with only required parameters
$url = route('post.comment', ['post' => 1]);

// Redirect to a named route with parameters
return redirect()->route('post.comment', ['post' => 1, 'comment' => 5]);

Route::get('post/{post}/comment/{comment?}', [CommentController::class, 'show'])->name('post.comment'): Defines a named route 'post.comment' with an optional {comment} parameter. If {comment} is not provided, the route will still be valid.

route('post.comment', ['post' => 1, 'comment' => 5]): Generates a URL for the 'post.comment' route with both required and optional parameters substituted.

route('post.comment', ['post' => 1]): Generates a URL for the 'post.comment' route with only the required parameter.

redirect()->route('post.comment', ['post' => 1, 'comment' => 5]): Redirects to the named route with specified parameters.

You Might Also Like

Using --ignore-platform-req and --ignore-platform-reqs with Composer

Using --ignore-platform-req and --ignore-platform-reqs flags to bypass specific or all platform requ...

Autoload Composer Dependencies for Faster Performance

This command generates an optimized file that maps all the class names to their corresponding file l...