命名路由

17 Mar 2025 | 阅读 2 分钟

命名路由是 Laravel 框架中的一个重要特性。它允许您在生成 URL 或重定向到特定路由时引用这些路由。简而言之,我们可以说命名路由是为路由提供别名的一种方式。

定义命名路由的语法

我们可以通过将 name 方法链接到路由定义来定义命名路由

我们也可以为控制器操作指定命名路由

Route::get('student/details', 'studentcontroller@showdetails') -> name('student_details');

生成指向命名路由的 URL

一旦您为给定的路由分配了命名路由,您就可以在使用全局 route 函数生成 URL 或重定向时使用该路由的名称。

假设我们在 URL 中有很多参数;在这种情况下,我们可以为 URL 提供短名称。我们使用一个包装所有内容的数组,它作为 get() 函数的第二个参数出现。让我们通过一个例子来理解。

输出

Laravel Named Routes

我们还可以从 Git Bash 窗口中检查路由的名称。

  • 首先,打开 Git Bash 窗口。
  • 在 Git Bash 窗口中移动到项目文件夹,然后键入命令 php artisan route:list
Laravel Named Routes

上面的输出屏幕显示了 URL 及其对应的名称,即 URL "student/details/example" 的名称是 student.details

注意: 使用命名路由的好处是,如果我们更改路由的位置,链接也将起作用,或者我们可以说它有利于动态更改 URL。

命名路由中的参数

命名路由也可用于定义参数。参数可以作为第二个参数传递给路由函数,这些参数会自动插入到 URL 的正确位置

输出

Laravel Named Routes

使用命名路由从一个路由导航到另一个路由

我们也可以通过使用命名路由从一个路由导航到另一个路由。

步骤 1:web.php 文件中定义路由。

步骤 2: 移动到 resources 文件夹,然后单击 views 文件夹。

步骤 3: 创建一个新文件,并将其命名为 student.blade.php

上面的代码从 student 页面导航到 student.details,这是命名路由。

输出

Laravel Named Routes
Laravel Named Routes

说明

当我们输入根目录的路由,即 localhost/laravelproject/public/,则出现 student 的视图,如上图所示,显示了 Student 的链接。当我们单击 Student 链接时,将出现新页面,其命名路由为 student.details


下一主题Laravel 中间件