Codeigniter HMVC重新声明错误即将到来

Ama*_*mar 3 php codeigniter

我正在使用CI 2.0.2并使用5.4模块化扩展..

我有用户作为默认控制器.

class User extends CI_Controller{

 public function __construct(){
   parent::__construct();
 } 

 public function login{ echo modules::run('login/main'); }
}
Run Code Online (Sandbox Code Playgroud)

这是我的模块/登录/控制器

class Login extends MX_Controller{

  public function __construct(){
    parent::__construct();

  $this->load->model('login_model','login');
 } 

  public function main{
     $arrUserInfo = $this->login->getUserInfo();
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用"MX_Controller"然后我收到以下错误致命错误:无法在第55行的E:\ Projects\mySite\application\third_party\MX\Base.php中重新声明类CI

所以我用"CI_Controller"进行了更改,然后我遇到了错误

遇到错误 无法找到您指定的模型:login_model

我不知道为什么模块化MVC不工作..如果有人有想法那么请分享它.谢谢..

Jon*_*ill 11

在桌子上敲了一会儿,然后用Google搜索,我找到了答案.您的User控制器应该扩展MX_Controller,而不是CI_Controller:

class User extends MX_Controller
{
    public function __construct(){
        parent::__construct();
    } 

    public function login { echo modules::run('login/main'); }
}
Run Code Online (Sandbox Code Playgroud)

显然,您调用模块控制器的任何控制器都必须扩展MX_Controller,即使它本身不是模块的一部分.