Yii PHP 框架分析 (一)
publicstaticfunctionautoload($className)
{
//useincludesothattheerrorPHPfilemayappear
if(isset(self::$_coreClasses[$className]))
include(YII_PATH.self::$_coreClasses[$className]);
elseif(isset(self::$_classes[$className]))
include(self::$_classes[$className]);
else
include($className.'.php');
}
可以看到YiiBase的静态成员$_coreClasses数组里预先存放着Yii系统自身用到的类对应的文件路径:
privatestatic$_coreClasses=array(
'CApplication'=>'/base/CApplication.php',
'CBehavior'=>'/base/CBehavior.php',
'CComponent'=>'/base/CComponent.php',
...
)
非coreClasse的类注册在YiiBase的$_classes数组中:
privatestatic$_classes=array();
其他的类需要用Yii::import()讲类路径导入PHPincludepaths中,直接include($className.'.php')
3.CWebApplication的创建
回到前面的程序入口的Yii::createWebApplication($config)->run();
publicstaticfunctioncreateWebApplication($config=null)
{
returnnewCWebApplication($config);
}
现在autoload机制开始工作了。
当系统执行newCWebApplication()的时候,会自动
include(YII_PATH.'/base/CApplication.php')
将main.php里的配置信息数组$config传递给CWebApplication创建出对象,并执行对象的run()方法启动框架。
CWebApplication类的继承关系
你可能喜欢
- PHP框架
- php框架
- php论坛
- php代码
- php教材
- php复习
- 第四讲_PHP之框架结构11页
- (20110509)PHP开源框架比较4页
- (20110509)PHP开源框架比较10页
- 使用PHP框架的十大理由2页
- MVC设计模式及PHP框架介绍-下载地址+2011年最新2页
- Kohana_敏捷的PHP框架23页
- php_论坛总体设计说明书10页
- 手把手教你写php论坛52页
- 基于Apache2.0.50的cgiphp论坛架设全攻略2页
- php 论坛总体设计说明书13页
- 基于Apache2050的cgiphp论坛架设全攻略23页
- php论坛毕业论文29页
- php颜色代码1页
- php基本代码大全6页
- 如何对php网页代码进行优化2页
- php分页代码输出代码,亲测!3页
- php常用代码6页
- php常用代码1页


