无法声明类Controller,因为名称已被使用。

12 浏览
0 Comments

无法声明类Controller,因为名称已被使用。

我最近将一个Laravel 4.2项目迁移到了5.0版本。到目前为止,我已经完成了所有必要的步骤,但是我一直在遇到一个错误。

无法声明类Controller,因为该名称已经被占用。

我的控制器已经按照Laravel升级指南提供的方式进行了更改。

<?php
use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
abstract class Controller extends BaseController {
    use DispatchesCommands, ValidatesRequests;
}

另外,我已经将它添加到了我的composer.json文件的classmap指令中。

"autoload": {
    "classmap": [
        "database",
        "app/Http/Controllers"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},

到目前为止,我还没有找到任何解决方案,所以如果你们知道该怎么做,那就会对我有很大的帮助:)先提前感谢!

admin 更改状态以发布 2023年5月24日
0
0 Comments

我相信你必须添加命名空间。

命名空间

默认情况下,Laravel 4 应用程序不在应用程序代码中使用命名空间。因此,例如,所有 Eloquent 模型和控制器都只存在于“全局”命名空间中。为了更快地迁移,您可以在 Laravel 5 中也将这些类保留在全局命名空间中。

0
0 Comments

从您的 classmap 中移除"app/Http/Controllers"

在您的use块之前添加namespace App\Http\Controllers;

然后运行composer dump-auto

0