php - Laravel 8 问题与子文件夹内的 Controller

标签 php laravel controller namespaces

我有 Laravel 8 项目,但我正面临子文件夹中的 Controller 问题。
我有 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 Controller 文件夹中有 DashboardController 时,一切正常。同样有趣的是 LoginController。它位于 Auth 子文件夹 (Controllers/Auth) 中,并且该 Controller 在子文件夹中工作。
我想将 Controller 移动到子文件夹的原因是更好的文件组织。
这里有人吗,谁能帮我解决这个问题?非常感谢您提前。

最佳答案

在该类文件中,您引用了 Controller ;最有可能 extends Controller关于类定义。没有名为 Controller 的类在您声明的命名空间中,App\Http\Controllers\Dashboard .您最有可能尝试引用 App\Http\Controllers\Controller这意味着您需要一个 use声明或通过其 FQCN,完全限定类名称引用它。

关于php - Laravel 8 问题与子文件夹内的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67034633/

相关文章:

php - 如何在一个字段中选择两个字段

php - fatal error : Allowed memory size exhausted while looping through a 14 element long single-character-array

php - Laravel 5. 使用 USING 运算符

asp.net-mvc - 获取当前的 Action 和 Controller ,并将其用作Html.ActionLink中的变量?

c# - GRASP 的 Controller 到底是什么?

php - 用于连续检查 MYSQL 数据库的 Web Worker AJAX 或 Web 套接字?

php - 关于php的关系数据库问题

php - Laravel - 从设置表中设置全局变量

json - 如何在laravel中验证json数据

javascript - Ui-view 不更新 Controller 中的值