很多时候由于项目比较庞大,需要讲项目的代码文件通过文件夹分类,这个时候由于受框架路由等限制会导致访问出现问题,当然 多个模块的路由如果放在同一个文件里 找起来也会很费劲,那么我们可不可以把模块区分开,并且把每个模块的路由也区分开呢,可以的
比如上图中我就是为了后台在controller中创建了一个Admin模块文件夹,用来存放后台的控制器文件,下方routes里新建一个admin.php文件用来存放后台所有的路由文件,但是新建完 发现是404,看来是需要做一些配置才能用,那都哪些地方需要配置呢?
1. appProvidersRouteServiceProvider.php
添加定义方法
// protected function mapAdminRoutes()
// {
// Route::prefix('admin')
// ->namespace($this->namespace.'Admin') (注:这里指定的就是你的后台模块的地址以及模块文件夹的名称)
// ->group(base_path('routes/admin.php'));
// }
然后在map方法中进行调用
$this->mapWebRoutes();
2 app/Http/keneral.php中添加配置
protected $middlewareGroups中添加
'api' => [
'throttle:60,1',
IlluminateRoutingMiddlewareSubstituteBindings::class
],
'admin'=> [
'throttle:60,1',
IlluminateRoutingMiddlewareSubstituteBindings::class,
'bindings'
],
3最后再routes 下 新建对应的路由文件 例如 admin.php
以上三步都执行完之后 通过路由访问一下 就可以了哦,有问题加群问吧。