Laravel 路由分组规则:中间件、子域名、路由前缀和命名空间
由 学院君 创建于2年前, 最后更新于 6个月前
版本号 #2
34532 views
44 likes
2 collects
常言道「物以类聚,人以群分」,同样,在日常开发中,我们通常会将具有某些共同特征的路由进行分组,这些特征包括是否需要认证、是否具有共同的路由前缀或者子域名、以及是否具有相同的控制器命名空间等,显然,对路由按照共同特征进行分组后可以避免重复为某些路由定义相同的路由特征,让代码更加简洁,可读性和可维护性更好。
所谓路由分组,其实就是通过 Route::group 将几个路由聚合到一起,然后给它们应用对应的共享特征:
Route::group([], function () {
Route::get('hello', function () { return 'Hello'; });
Route::get('world', function () { return 'World'; });
});
由于没有应用任何共享特征(第一个参数是空数组),所以这样的路由分组其实并没有什么意义,下面我们来介绍一些常见的共享特征设置。
中间件
我们使用路由分组最常见的场景恐怕就是为一组路由应用共同的中间件了,关于中间件可以参考官方文档,后面也会有单独章节来讲解,使用中间件可以对 HTTP 请求进行过滤或重定向,比如以认证中间件(别名auth)为例,如果用户已经认证可以进行后续处理,否则将会把用户重定向到登录页面。<