📜  laravel 中的 url 段 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:46.397000             🧑  作者: Mango

Laravel 中的 URL 段

在 Laravel 中,能够轻松地处理 URL 段是非常重要的。URL 段允许您在路由中定义动态部分的 URL,以便您可以将它们作为控制器方法的参数传递。

定义 URL 段

在我们看到如何处理 URL 段之前,首先让我们看看如何在 Laravel 中定义它们。

假设我们要将 “/user/{id}” 的 URL 定义为一个路由,并将其绑定到 UserController@show 方法。这样我们就可以像这样定义它:

Route::get('/user/{id}', 'UserController@show');

在这里,我们使用 {id} 作为我们的 URL 段。

处理 URL 段

现在我们已经定义了 URL 段,如何在控制器方法中处理它们呢?

当我们定义 URL 段时,我们可以将它们作为控制器方法的参数,该参数将在调用该方法时自动传递。例如,在我们的例子中,我们可以将 id 作为 UserController@show 方法的参数:

public function show($id)
{
    // do something with $id
}

在这里,$id 参数将包含 URL 段的值。

可选的 URL 段

您可能会想要定义一个可选的 URL 段。在 Laravel 中,我们可以在 URL 段的末尾加上 ? 来达到这个目的。例如:

Route::get('/user/{id?}', 'UserController@show');

现在,“/user” 和 “/user/1” 都将调用 UserController@show 方法。如果没有提供 ID,$id 参数将为 null

命名 URL 段

最后,我们可以给 URL 段命名。这样做的好处是减少了硬编码 URL 的使用,可以在应用程序的其他位置引用它。命名 URL 段是通过在 URL 段前面加上一个冒号以及一个名称来实现的。例如:

Route::get('/user/{id}', 'UserController@show')->name('user.show');

现在我们可以使用 route() 函数来构建 URL,例如:

$url = route('user.show', ['id' => 1]);

在这里,$url 将包含 /user/1

总结

在 Laravel 中,处理 URL 段是非常容易的。定义 URL 段时,我们可以将它们作为控制器方法的参数。我们还可以定义可选的 URL 段并给它们命名,以便在应用程序的其他地方引用它们。