使用MY_Controller

时间:2017-06-12 11:42:29

标签: codeigniter

我正在使用core/MY_Controller.php并更改了我的所有控制器以扩展MY_Controller而不是CI_Controller。现在CodeIgniter的所有“核心”函数都不能在我的常规控制器上运行,例如:自动加载的模型会出现Undefined property错误,$this->load->...之类的东西也不起作用。

core/MY_Controller.php

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

class MY_Controller extends CI_Controller {

    public $test = false;

    public function __construct()
    {
        $this->test = "test";

    }
}

我用这个启动我的所有控制器:

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

class Dashboard extends MY_Controller {

2 个答案:

答案 0 :(得分:0)

如果在扩展其他类的类中有__construct()方法,那么几乎总是需要从子类中调用父构造函数。

尝试将这一个简单的添加到构造函数中。

public function __construct()
{
    parent::__construct();
    $this->test = "test";
}

答案 1 :(得分:0)

首先在我的控制器中尝试这个

<?php

class MY_Controller extends CI_Controller {

    public $data = array();

    public function __construct()
    {
        parent::__construct();
        $this->data['test'] = "test";

    }
}

然后创建一个像public $data = array()

这样的变量
<?php


class Example extends MY_Controller 
{

    public $data = array();

    public function index() 
    {
        $this->load->view('example', $this->data);
    }

}

查看

<?php echo $hello;?>