在非对象上调用成员函数userdata()

Sub*_*hra 2 php codeigniter

大家好,我有一个代码,给我这个错误

致命错误:第3行的C:\ wamp\www\project\application\controllers\admin\home.php中找不到类'MY_Controller'

我不知道为什么它会显示这个错误......

C:\ wamp\www\project\application\controllers\admin\home.php的代码是

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends MY_Controller {

function index()
{
    redirect('admin/login');
}

function logout()
{
    $this->session->unset_userdata('logged_in');
    //session_destroy();
    redirect('admin/login');
}
}
?>
Run Code Online (Sandbox Code Playgroud)

C:\ wamp\www\project\application\libraries\MY_Controller.php的代码是

<?php

class MY_Controller extends CI_Controller {
public function __construct() {
    parent::__construct();
    if (!$this->session->userdata('logged_in')) {
        redirect('admin/login');
    }
}

}
Run Code Online (Sandbox Code Playgroud)

而且如果我放置

class Home扩展了CI_Controller

代替

class Home扩展了MY_Controller

在里面

C:\ WAMP\WWW \项目\程序\控制器\ ADMIN\home.php

文件并尝试加载

C:\ WAMP\WWW \项目\程序\库\ MY_Controller.php

在...的构造函数中

C:\ WAMP\WWW \项目\程序\控制器\ ADMIN\home.php

表明

在非对象上调用成员函数userdata()

为什么这样?

saf*_*rov 5

在扩展System类时,需要将类文件放入core而不是library文件夹.将MY_Controller.phpcore文件夹中.

  • 如果扩展系统类,则将文件放在core而不是library中 (2认同)