阅读(2589) (11)

Laravel 8 生成指定路由的 URL

2021-06-23 11:57:03 更新

一旦为路由指定了名称,就可以使用全局辅助函数 route 来生成链接或者重定向到该路由:

// 生成链接...
$url = route('profile');

// 生成重定向...
return redirect()->route('profile');

如果有定义参数的命名路由,可以把参数作为 route 函数的第二个参数传入,指定的参数将会自动插入到 URL 中对应的位置:

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

$url = route('profile', ['id' => 1]);

如果在数组中传递额外的参数,这些键或值将自动添加到生成的 URL 的查询字符串中:

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

$url = route('profile', ['id' => 1, 'photos' => 'yes']);

// /user/1/profile?photos=yes

技巧:有时候,你可能希望为某些 URL 参数的请求范围指定默认值,例如在本地环境,你可以使用 URL::defaults 方法