📜  如何在 laravel 中创建路由 - PHP (1)

📅  最后修改于: 2023-12-03 15:08:41.176000             🧑  作者: Mango

如何在 Laravel 中创建路由

在 Laravel 中,路由用于将 URL 映射到相关操作。例如,我们可以为 /home URL 创建一个路由,使得当用户访问该 URL 时,Laravel 将调用相应的控制器方法并返回相应的视图。

Laravel 的路由定义十分简单,并使用基于闭包或控制器的路由定义。 下面是如何在 Laravel 中创建路由的方法:

基于闭包的路由定义

基于闭包的路由定义可以让你快速的在 Laravel 中创建路由,首先需要创建一个闭包函数作为路由的处理程序,然后将闭包传递给路由器的相应方法。

下面是一个基于闭包的路由定义示例:

Route::get('/home', function () {
    return view('home');
});

上面的代码中创建了一个 GET 路由,该路由将 URL /home 映射到一个闭包函数,该函数返回视图 home.blade.php

基于控制器的路由定义

基于控制器的路由定义可以让你更好地组织代码,具有更好的可读性。在这种情况下,我们需要创建一个控制器类,然后将控制器类中的方法作为路由的处理程序。

下面是一个基于控制器的路由定义示例:

首先需要创建一个控制器类,比如 HomeController:

class HomeController extends Controller
{
    public function index()
    {
        return view('home');
    }
}

然后,在路由器中定义路由:

Route::get('/home', 'HomeController@index');

上面的代码中创建了一个 GET 路由,该路由将 URL /home 映射到 HomeController 类的 index 方法,该方法返回视图 home.blade.php

路由参数

如果我们需要在路由中传递参数,可以通过在 URL 中添加参数来实现。Laravel 会自动解析路由参数并将它们传递给路由处理程序。

下面是一个路由参数定义示例:

Route::get('/users/{id}', function ($id) {
    return 'This is user with ID ' . $id;
});

上面的代码中创建了一个 GET 路由,该路由将 URL /users/{id} 映射到一个闭包函数,该函数将路由参数 id 作为参数并返回相关用户的数据。

路由命名

为了更好地组织代码和提高可读性,我们可以在 Laravel 中为路由命名。 在路由内部定义名称,然后在应用程序的其他部分引用该名称。

下面是一个路由命名示例:

Route::get('/users/{id}', function ($id) {
    return 'This is user with ID ' . $id;
})->name('user.show');

上面的代码将路由的名称设置为 user.show。 然后,在应用程序的其他部分可以通过这个名称引用该路由。

总结

以上是在 Laravel 中创建路由的基本方法。 我们介绍了两种不同类型的路由定义,以及如何传递路由参数和命名路由。 Laravel 的灵活性和易用性使其成为许多 Web 开发人员的首选框架之一。