【发布时间】:2021-07-06 03:10:36
【问题描述】:
我有 laravel 8 项目,我遇到了子文件夹中的控制器问题。
我的 DashboardController 位于 /app/Http/Controllers/Dashboard。在我的 web.php 中,我有:
use App\Http\Controllers\Dashboard\DashboardController;
Route::get('dashboard', [DashboardController::class, 'dashboardView']);
DashboardController 有这个命名空间:
namespace App\Http\Controllers\Dashboard;
我尝试在 RouteServiceProvider.php 中取消注释 $namespace 变量。我还添加了:
->namespace($this->namespace);
在 boot() 方法中。但没有运气。我收到了这个错误:
Class 'App\Http\Controllers\Dashboard\Controller' not found"
当我在 laravel 控制器文件夹中有 DashboardController 时,一切正常。同样有趣的是 LoginController。它位于 Auth 子文件夹 (Controllers/Auth) 中,此控制器在子文件夹中工作。
我想将控制器移动到子文件夹的原因是更好地组织文件。
这里有人可以帮我解决这个问题吗?非常感谢您。
【问题讨论】:
标签: php laravel controller namespaces