1.入口文件根据main.php 所配置的的参数CWebApplication 的实例
Yii::createWebApplication($config)->run();
createWebApplication($config) 最终返回了一个 new CWebApplication($config);
在CWebApplication 实例执行run 函数过程中,将会执行下列一些函数
(1).processRequest 该函数路由 (controller/action)(CWebApplication)
(2).runController 该方法执行下列函数(CController)
1>createController 该方法首先获取控制器的文件地址,require控制器文件,创建控制器实例,返回 控制器实例和action
2>init 控制器初始化
3>run 执行控制器中的action 方法,在控制器执行action方法中,执行下列函数
1>>createAction 判断action是为空,空则使用默认action.判断控制器中是否存在action ('action'.需要的动作名称),如果不存在,判断是否在actions方法配置。
返回继承CAction 的实例(CAction 中主要实现的run方法,最终调用的是run,run方法实现控制器中action方法的调用)
2>>如果filters不为空,执行过滤函数runActionWithFilters(通过循环filters 返回的数组,判断filter指定的action 与当前action是否相同,然后执行对应过滤方法,最后在执行 action)
3>>runAction 调用CAction 中的runWithParams,执行控制器相应action