路由组

17 Mar 2025 | 阅读 2 分钟

路由组是 Laravel 中的一个重要特性,它允许您对所有路由进行分组。当您希望将属性应用于所有路由时,路由组非常有用。如果您使用路由组,则不必单独将属性应用于每个路由;这避免了重复。它允许您共享属性,例如中间件或命名空间,而无需在每个单独的路由上定义这些属性。这些共享属性可以以数组格式作为第一个参数传递给 Route::group 方法。

路由组的语法

参数

[ ]: 这是一个作为第一个参数传递给 group 方法的数组。

路由组的例子

web.php

在上面的代码中,我们定义了包含两个参数的 group() 方法,即数组和闭包。在闭包内部,我们可以根据需要定义任意数量的路由。在上面的代码中,我们定义了三个路由。

输出

当我们访问 URL "localhost/laravelproject/public/first" 时,输出将是

Laravel Route Groups

当我们访问 URL "localhost/laravelproject/public/second" 时,输出将是

Laravel Route Groups

当我们访问 URL "localhost/laravelproject/public/third" 时,输出将是

Laravel Route Groups

路径前缀

当我们想要提供通用的 URL 结构时,使用路径前缀。

我们可以通过使用路由组中的前缀数组选项来指定组内定义的所有路由的前缀。

让我们通过一个例子来理解。

web.php

上面的代码包含三个路由,可以通过以下 URL 访问

/tutorial/aws

Laravel Route Groups

/tutorial/jira

Laravel Route Groups

/tutorial/testng

Laravel Route Groups

中间件

我们还可以将中间件分配给组内的所有路由。可以在创建组之前使用中间件方法定义中间件。

让我们通过一个例子来理解。

web.php

CheckAge.php (中间件)

输出

Laravel Route Groups
Laravel Route Groups
Laravel Route Groups

路由名称前缀

name 方法用于为每个路由名称添加指定字符串的前缀。在 name 方法中,我们需要使用前缀中的尾随字符指定字符串。

让我们看一个示例。

web.php

在上面的代码中,路由的名称将是 admin.users


下一个主题Laravel 控制器