1、CI_Controller 把所有已经加载的 类赋值到属性
2、get_instance 直接返回Controller类的所有属性
3、所有控制器均 继承于CI_Controller 使得在控制器里面 可以使用超级类
4、Loader 把所有类如同 CI_Controller 那样加载 使用在view 里面可以 调用超级类
5、CI_Model模型直接引用 get_instance 所有模型直接继承于CI_Model 所以在所有模型里面也可以直接调用超级类
6、由于Loader load的时候 只导入了超级类的属性 所以在view里面只能通过$this->控制器里面的属性 但是不能$this->控制器里面的函数
7、如果开启 数据库active_record 类 那么CI_DB 就继承与该类 同时该类继承于DB_driver 否则 CI_DB 直接继承与 DB_driver 不能使用active_record类的功能
父类--》子类:
CI_DB_driver-->CI_DB-->mysql_driver
CI_DB_driver-->CI_DB_active_record-->CI_DB-->mysql_driver
然后$db = new mysql_driver