我最终决定升级我的CI,我遵循此用户指南 CodeIgniter User Guide Version 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的步骤升级 所以任何建议,为什么会发生这种情况? 谢谢你的所有建议。
答案 0 :(得分:1)
首先:将您的My_controller.php
重命名为MY_Controller.php
。
第二:将父类名称更改为CI_Controller
:
class MY_Controller extends CI_Controller { ... }
最后将MY_Controller.php
个文件放在application/core
文件夹中。
来自 User Guide :
例如,要扩展本机Input类,您将创建一个文件 命名为
声明您的类application/core/MY_Input.php
,并使用:
class MY_Input extends CI_Input {
}
答案 1 :(得分:0)
新版CI控制器定义:类MY_Controller扩展CI_Controller