将CodeIgniter 1.7.2升级到2.1.4会导致致命错误:Class';MY_控制器';找不到


Upgrading CodeIgniter 1.7.2 to 2.1.4 causes Fatal error: Class 'MY_Controller' not found

我最终决定升级我的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有什么建议吗,为什么会发生这种情况?谢谢你的建议。

首先:My_controller.php重命名为MY_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 {
}

新版本的CI控制器定义:MY_controller类扩展了CI_Controller