Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
继承构造函数PHP5.2.6_Php_Codeigniter - Fatal编程技术网

继承构造函数PHP5.2.6

继承构造函数PHP5.2.6,php,codeigniter,Php,Codeigniter,我有一个相对简单的问题。我试图从php超类继承一个构造函数,以便在此控制器上进行身份验证 这是我的超级课堂: class Auth_Controller extends CI_Controller { function __construct() { parent::__construct(); if(!session_id()){ session_start(); } $this-&g

我有一个相对简单的问题。我试图从php超类继承一个构造函数,以便在此控制器上进行身份验证

这是我的超级课堂:

class Auth_Controller extends CI_Controller {

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

        if(!session_id()){
            session_start();
        }

        $this->load->view('login_v/logincheck');

    }

} 
下面是我的子类:

class Event_Controller extends Auth_Controller {
    function __construct()
    {
        parent::__construct();
    }

    public function get_events_by_owner() {

        $this->load->model('Event_model');
        $data['events'] = $this->Event_model->select_by_owner($_SESSION['SignedIn']);

        $this->load->view('event_view', $data);
    }
}
这是行不通的。仅呈现白色页面。我不知道为什么它不起作用。如果我将构造函数从
Auth\u Controller
移动到
Event\u Model
中,这会起作用

谢谢

编辑:

Fatal error: Class 'Auth_Controller' not found in 
../controllers/event_controller.php on line 12

您的解决方案行不通,您应该尝试以下任一方法:

移动此代码:

if(!session_id()){
  session_start();
}

$this->load->view('login_v/logincheck');
到cutom库,然后在控制器的构造函数中运行此库。详情请阅读

或:

创建MY_Controller类并将auth代码(上面引用)放入其构造函数中。这样您就可以像这样扩展:

class Event_Controller extends MY_Controller {
(...)

有关详细信息,请阅读。

您需要确保已打开错误报告。这就是为什么你会得到一张“白纸”。检查你的日志。编辑
index.php
并设置
define('ENVIRONMENT','development')。我几乎可以肯定您的问题与
会话\u start()
调用有关。您能否通过调用
错误报告(-1)
ini\u集('display\u errors',1)
来启用错误?请看一看:问题是CodeIgniter没有自动加载您的
验证控制器
文件。CodeIgniter只允许您(本机)通过命名类来扩展类
My\u Controller
。这个页面有一个解决方案:@RocketHazmat发现了,我的文件名实际上是
auth_controller.php
而不是
auth_controller.php
doh@Lilluda5:你成功了吗?凉的很高兴我能帮忙:-)