You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter4中加载vendor目录下Myth-Auth的LoginModel报错求助

CodeIgniter4 加载Myth-Auth LoginModel报错解决方法

问题说明

在app/Controllers/BaseController.php中尝试实例化Myth-Auth的LoginModel时,执行代码:

$this->loginModel = new Myth\Auth\Models\LoginModel;

出现报错:Class 'App\Controllers\Myth\Auth\Models\LoginModel' not found

原因是BaseController默认处于App\Controllers命名空间下,PHP会自动在当前命名空间下查找Myth\Auth\Models\LoginModel,而该类实际位于根命名空间的Myth\Auth\Models下,因此找不到对应类。

解决方法

方法一:引入use语句

在BaseController文件的命名空间声明下方,添加类引入语句:

namespace App\Controllers;

use Myth\Auth\Models\LoginModel; // 新增这行

class BaseController extends Controller
{
    // ... 其他代码
    public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
    {
        parent::initController($request, $response, $logger);
        $this->loginModel = new LoginModel(); // 直接实例化类
    }
}

方法二:使用完全限定类名(带根命名空间前缀)

无需添加use语句,直接在实例化时给类名加上开头的反斜杠,指定从根命名空间查找:

$this->loginModel = new \Myth\Auth\Models\LoginModel();

内容的提问来源于stack exchange,提问作者Gunping

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:52:38