Codeigniter 找不到我的\u控制器类

Codeigniter 找不到我的\u控制器类,codeigniter,codeigniter-2,Codeigniter,Codeigniter 2,我想解决的主要问题是,当有人想要访问管理面板时,检查用户会话。我已经创建了我的_控制器类并将其放入库中 class MY_Controller extends CI_Session { public $logged_in = FALSE; public function __construct() { parent::__construct(); $this->is_logged_in(); } public function is_logged_in() {

我想解决的主要问题是,当有人想要访问管理面板时,检查用户会话。我已经创建了我的_控制器类并将其放入库中

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');

    }
}


}
这是管理员控制器,我在这里检查用户会话是否存在

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

请告诉我您对我针对给定问题的编码解决方案的想法:)

Codeigniter引入了一个名为
core
的新文件夹,其中的库不需要加载。原始的CI_控制器类就是其中之一,因此,如果您想让automagick获取您的
MY_Controller.php
文件,您也应该将其放在
application/core

如有疑问,请在
系统
目录下检查扩展类的原始版本,并在
应用程序
下镜像该版本

(同样在您的第一个代码示例中,我认为您的意思是扩展
CI\u控制器
而不是
CI\u会话

  • 您需要扩展
    CI\u控制器
    类,而不是
    CI\u会话
  • 您应该将
    MY\u Controller
    放在
    application/core/
    文件夹下,而不是
    application/library

  • 我在学习CodeIgniter时,在一个项目中遇到了这个错误。我的解决方案是,以您的项目为例,
    require_once('My_Controller')在我的新控制器顶部

    这样,我就不必将文件移动到核心,并且可以将其保存在控制器目录中