Yii web创建过程

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


 


猜你喜欢

转载自blog.csdn.net/H_L_S/article/details/51645938
yii