CI框架初探——使用自定义的全局控制器

2017/1/19

在使用ci框架的过程,我们可能会有一些经常使用的类或者方法,比如获取当前登录的用户,如果每次都要重新写一次感觉比较麻烦而且可用性不太好。这个时候如果有一个可以全局使用的方法来获取当前用户就比较方便了。

在使用ci框架的时候,我们每个Controller都是继承自CI_Controller,所以可以想到,如果在CI_Controller里面添加一个方法,那么在子控制器里面肯定是可以直接使用的。但是,我们一般不会直接修改CI_Controller之类的system下面的文件,所以需要在application下面自己实现一个类似于CI_Controller的控制器。

在application/core/中添加一个MY_Controller方法继承自CI_Controller,在这里可以添加一些全局的方法,然后在子控制器里面就能直接引用了。

MY_Controller 一般结构如下:

class MY\_Controller extends CI\_Controller  
{  
   public function __construct($type = NULL)  
   {  
     parent::__construct();  
    }  
}
1
2
3
4
5
6
7

然后在子控制器继承MY_Controller,然后就能直接使用相关的方法了