如何在 CodeIgniter 4 的路由中调用子文件夹控制器方法

How to Call Subfolder Controller method in Routes in CodeIgniter 4

我在子文件夹中有控制器

--Controllers
----Admin
--------UserController
--------AccountController
----User
--------UserController
--------AccountController

我为它写路线

$routes->group('user', function ($routes){
    $routes->get('dashboard', 'UserDashboard::index');
    $routes->get('changePassword', 'User\AccountController::changePassword');
});

它给了我 404,即使我有方法也有一些输出

控制器代码

<?php namespace App\Controllers;

use App\Controllers\BaseController;

class AccountController extends BaseController
{
    public function index()
    {
        echo "Hello";
        exit();
        return view('user/account/changePassword');
    }

    public function changePassword()
    {
        echo "Change Password View";
        exit();
        return view('user/account/changePassword');
    }
}

您需要更改控制器的命名空间。

用户控制器

<?php namespace App\Controllers\User;

use App\Controllers\BaseController;

class AccountController extends BaseController
{
    
}

管理员控制器

<?php namespace App\Controllers\Admin;

use App\Controllers\BaseController;

class AccountController extends BaseController
{
    
}