1,如何扩展CI的控制器?
先去对比一下system文件夹内的文件与application的文件,我们再去application的core文件夹下创建文件,system核心文件不需要动任何代码。
application/core/MY_Controller.php
<?php class MY_Controller extends CI_Controller{ public function __construct(){ //在我的方法里调用父类的构造方法 parent::__construct(); //测试一下是否调用 echo 'aaa'; } }
然后再去控制器文件夹改变集成的基类
application/controllers/Welcome.php
class Welcome extends MY_Controller {}
在浏览器查看是否输出aaa
这样控制器继承了我的基类,我的基类集成的CI框架的基类。这样我们就可以在自己创建的基类构建登录验证等权限验证,写方法也是可以调用的。
同样system里面有什么文件类,在application也是可以重写的
控制器前缀修改在配置文件
application/config/config.php
$config['subclass_prefix'] = 'MY_';