0

我终于决定升级我的 CI,我遵循这个用户指南 CodeIgniter 用户指南版本 2.1.4

但最后当我尝试加载我的网页时,我得到了这样的错误

    Fatal error: Class 'MY_Controller' not found in 
C:\xampp\htdocs\myfolder\system\application\controllers\home.php on line 6

在 home.php 第 6 行是class Home extends MY_Controller {

我有一个名为 My_controller.php 的文件

C:\xampp\htdocs\myfolder\system\application\libraries

这是文件:

<?php

class  MY_Controller  extends  Controller {

  var $needLogin = FALSE;
  var $rakunpanel = FALSE;

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

    $isVisited = $this->session->userdata('visited');
    if($isVisited !== '1'){
      $this->session->set_userdata('visited', '1');
      redirect('welcome');
    }

    if($this->rakunpanel === TRUE){
      $this->needLogin = TRUE;
      $this->layout->setLayout('folderAdmin/layout_admin');
    }

    if($this->needLogin === TRUE && !$this->tank_auth->is_logged_in()){
      redirect(ADMIN_PATH.'auth/login/');
    }

  }

  function is_ajax() {
    return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));
  }  
}  

这对我来说很难,因为我必须按照从 CI 版本 1.7.2 到 2.1.4 的步骤升级所以任何建议,为什么会发生这种情况?谢谢你的所有建议。

4

2 回答 2

1

首先:将您的重命名My_controller.phpMY_Controller.php.

第二:将父类名称更改为CI_Controller

class MY_Controller extends CI_Controller { ... }

最后MY_Controller.php文件放入文件application/core夹中。

用户指南

例如,要扩展本机 Input 类,您将创建一个名为 的文件application/core/MY_Input.php,并使用以下命令声明您的类:

class MY_Input extends CI_Input {

}
于 2013-08-19T09:36:55.007 回答
0

新版 CI 控制器定义:类 MY_Controller 扩展 CI_Controller

于 2013-08-19T09:35:20.577 回答