MY_Controller类未找到(MY_Controller class not found)

2019-08-01 18:05发布

我要解决的主要问题是检查用户会话,当有人要访问管理面板。 我创建MY_Controller类,并把它放在库中。

class MY_Controller extends CI_Session {

public $logged_in = FALSE;

public function  __construct() {
    parent::__construct();
    $this->is_logged_in();
}

public function is_logged_in()
{
    $logged = $this->userdata('user_id');
    $this->logged_in = ($logged) ? TRUE : FALSE;
}

function sessdestroy() {

    $this->session->sess_destroy();

}

}

这是我的登录页面。 我创建了一个按钮重定向到管理面板(仪表盘),只是为了测试,如果会话确认工作。

class Login extends CI_Controller {

function __construct() {

    parent::__construct();

}

public function index() {

    $this->load->view('view_login');

    if(isset($_POST['redirect'])) {

    redirect('admin');

    }
}


}

这是管理控制器,其中i检查,如果用户会话存在。

class Admin extends MY_Controller {

function construct() {

    parent::__construct();

}


function index() {

    if($this->is_logged_in()) {

    $this->dodadi_destinacija();

    }

    else redirect('login');

}

}

但我得到这个错误。

Fatal error: Class 'MY_Controller' not found in C:\wamp\www\UserPanel\application\controllers\admin.php on line 3

你能告诉我你的想法有关为给定的问题请我的编码解决方案:)

Answer 1:

  1. 您需要延长CI_Controller而不是类CI_Session
  2. 你应该把MY_Controllerapplication/core/文件夹而不是application/library


Answer 2:

笨引入了一个名为新文件夹core地方,不需要加载生活的库。 原来是CI_Controller类是其中之一,所以如果你想在automagick拿起你MY_Controller.php文件,你应该把它在application/core了。

如有疑问,请检查扩展类的原始版本在system目录和反映,根据application

(另外,在你的第一个代码示例中,我觉得你的意思延长CI_ControllerCI_Session



Answer 3:

我有一个项目,因为我学习笨此错误。 我的解决方案是,使用您的项目为例, require_once('MY_Controller'); 顶部我的新控制器。

这样,我没有我的文件移动到核心,我可以把它在我的控制器的目录。



文章来源: MY_Controller class not found