移动路线/web.php文件会导致类未找到错误

时间:2018-06-30 21:54:48

标签: php laravel laravel-5

我正在使用Laravel 5.6框架,我想将路由文件移到另一个目录。我将其从原始~/config/routes/web.php目录移到了~/routes/web.php

然后我将mapWebRoutes中的RouteServiceProvider方法更改为:

Route::middleware('web')
     ->namespace($this->namespace)
     ->group(base_path('config/routes/web.php'));

现在,当我尝试启动laravel时,出现错误:

  

在web.php第14行中:                                 找不到“路线”类

我已经检查了app.php配置文件中的别名数组。那里是正确的课程:

'Route'        => Illuminate\Support\Facades\Route::class,

当我将路线目录更改回原始~/routes/web.php目录时,一切正常。

我还试图将类导入到web.php路由文件中,如下所示:

use Illuminate\Support\Facades\Route;

然后我尝试启动laravel时收到此错误。

  

在Facade.php第218行中:                                         尚未设置外观根。

如何做到这一点,以便可以将我的路由文件移动到另一个目录而不会出现此错误?

2 个答案:

答案 0 :(得分:1)

将它们移动到由于特定原因而未被扫描的目录中。

config目录专门用于配置文件,并且它们在提供程序之前的非常早的过程中被加载,这就是您的应用程序从配置文件获取要加载的提供程序列表的方式。 / p>

如果您想在项目的根目录中建立一个名为random的目录并将其放置在该目录中,只需在RouteServiceProvider中适当地更改路径即可。

答案 1 :(得分:0)

Route::middleware('web')
     ->namespace($this->namespace)
     ->group(base_path('path/routes/web.php'));

但是路径无法配置
例如 base_path('public / routes / web.php'),但不是 base_path('config / routes / web.php')