YiiBase文件
在入口文件中,引入了框架中的Yii.php,里面定义了一个Yii类,它是一个帮助类,继承自YiiBase类。Yii类实际上是一个空的类壳,这里正是第一处Yii框架留给我们扩展框架功能的地方。好好记住吧。
YiiBase.php文件中首先定义了一些框架的默认常量。现在先不用知道每个常量的功能。但是要记住如果要重定义这些这些常量一定要在入口文件(index.phps)中定义。
YiiBase.php文件定义了YiiBase类,它同样是一个帮助类。类的成员属性和成员方法全部是静态的。这些都很非常重要的。因为内容不好,为了不在这里就陷入具体代码中去,这里不详细介绍了。想象这样也对,因为是帮助类,它一定有着其作用,并且很放到这里是最方便的。所以在用到时,在分析更顺利成章。继续往下看。
YiiBase.php还通过spl_autoload_register(array('YiiBase','autoload'));进行了自动加载处理。自动加载的逻辑定义上面YiiBase的autoload方法中。
自动加载的逻辑是:首先检查_coreClasses属性中有没有该类,没有在检查_classes属性,这个属性是用户定义可以自动导入的类。设置这个属性的方法时该类中import方法干的活。在没有就直接包含该调用类文件了,如果当前目录或包含文件中没有也就只能返回false了。
YiiBase.php最后在引入了interfaces.php接口文件