路由分组的目的是让我们在多个路由中共享相同的路由属性,比如中间件和命名空间等,这样的话我们定义了大量的路由时就不必为每一个路由单独定义属性。共享属性以数组的形式作为第一个参数被传递给 Route::group 方法。

中间件
要给某个路由分组中定义的所有路由分配中间件,可以在定义分组之前使用 middleware 方法。中间件将会按照数组中定义的顺序依次执行:

关于中间件的使用我们在后面单独讲中间件时再进行示例演示,这里我们先了解这样使用就行。
命名空间
路由分组另一个通用的例子是使用 namespace 方法分配同一个 PHP 命名空间给该分组下的多个控制器:

默认情况下,RouteServiceProvider 在一个命名空间分组下引入所有路由文件,并指定所有控制器类所在的默认命名空间是 App\Http\Controllers,因此,我们在定义控制器的时候只需要指定命名空间 App\Http\Controllers 之后的部分即可。
子域名路由
路由分组还可以被用于处理子域名路由,子域名可以像 URI 一样被分配给路由参数,从而允许捕获子域名的部分用于路由或者控制器,子域名可以在定义分组之前调用 domain 方法来指定:

比如我们设置会员子域名为 account.blog.dev,那么就可以通过 http://account.blog.dev/user/1 访问用户ID为 1 的会员信息了:

路由前缀
prefix 方法可以用来为分组中每个路由添加一个给定 URI 前缀,例如,你可以为分组中所有路由 URI 添加 admin 前缀 :

这样我们就可以通过 http://blog.dev/admin/users 访问路由了。