laravel 在路由中使用的自定义控制器上出错

laravel is giving error on custom controller used in routes

我在 routes/web.php 文件

中有一个简单的
Route::get(Config::get('constants.ADMIN_PATH') . '/categories', 'AdminControllers\AdminPagesController@index');

我创建了一个文件夹 AdminControllers,里面有一个名为 AdminPagesController 的控制器,但我收到错误

Class App\Http\Controllers\AdminControllers\AdminPagesController does not exist

而我查看了同一个文件夹并且 class 存在。这是我的 class 代码

命名空间App\Http\Controllers;

使用Illuminate\Http\Request;

class AdminPagesController extends Controller
{
    public function __construct() {

    }

    public function index () {
        return "hello";
    }
}

将您的命名空间更改为

namespace App\Http\Controllers\AdminControllers;

Laravel 将根据您的名称间距而不是您的目录结构来解析控制器。

您应该正确指定命名空间,将其更改为:

namespace App\Http\Controllers\AdminControllers; // <------- correct this namespace

use Illuminate\Http\Request;

class AdminPagesController extends Controller
{
    public function __construct() {

    }

    public function index () {
        return "hello";
    }
}

希望对您有所帮助!

如果您选择将控制器嵌套到 **

App\Http\Controllers


** 目录,使用相对于

的特定 class 名称

App\Http\Controllers

根命名空间。

namespace App\Http\Controllers\AdminControllers;