|
发表于 2012-7-9 09:04:23
|
显示全部楼层
本帖最后由 浪迹天涯 于 2012-7-9 09:10 编辑
LZ显然是没仔细看看CI的代码,CI在执行CI_Controller类之前已经执行了CodeIgniter.php,而is_loaded()函数是在load_class函数中被调用的,再返回到CodeIgniter.php文件中看,该文件中有很多地方调用了load_class(),比如$BM =& load_class('Benchmark', 'core'); $EXT =& load_class('Hooks', 'core'); $CFG =& load_class('Config', 'core'); 等等,CI_Controller中调用的is_load()怎么没加载任何文件呢?恰恰是加载了一些核心的类库。 要知道CI_Controller中调用的is_load()有没有加载文件或者它初始加载了哪些文件,其实很简单,你就在CI_Controller中的__construct函数里把is_load()的返回值打印出来不就一目了然吗?
至于CI是如何加载类的,看看load_class吧,然后再稍微认真的看下CI的代码
|
|