2,220   CodeIgniter PHP

有些自定义的公共方法,以及需要每次执行的model加载,不想在每个控制器controller中编写,于是想扩展CI_Controller,这涉及到关于application/core目录的使用。
具体扩展方法

1,自定义扩展超级类,在application/core添加文件,名为MY_Controller.php,

2,文件MY_Controller.php内容如下

// 类名与文件名相同
class MY_Controller extends CI_Controller {


    public function __construct()
    {
            // 继承父类的构造方法
            parent::__construct();
            // 添加需要每次执行的内容,比如model加载
            $this->load->model('Model_setting');
    }

    // 添加自定义的共用方法
    public function hasLogin(){


    }
}

3,application/controller下的控制器继承MY_Controller父类,

// 继承MY_Controller 
class Admin extends MY_Controller {

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

    }

    public function index()
    {
        // 使用model
        $this->Model_setting->get_setting('version');
        // 调用自定义的共用方法
        $this->hasLogin();
    }

}




Leave a Reply

Your email address will not be published. Required fields are marked *