有些自定义的公共方法,以及需要每次执行的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