加载控制器及其方法:
根据route信息,获得当前控制器
|
初始化当前控制器,CController::init(),默认为空
|
执行当前控制器,CController::run()
|
|----> 创建action,为空则默认为index
|
得到CInlineAction的实例
|
用父对象执行beforeControllerAction:默认是CWebApplication,直接返回TRUE
|
执行action
|----> 备份原来的action
|
执行beforeAction()
|
runWithParams()----> 实际上是执行CInlineAction->runWithParams()
|
在实例中,执行SiteController->actionIndex()
|
渲染页面:render('index')
|
|<--------------------------|
|
执行afterAction()
|
恢复原来action
|
|<----------|
|
用父对象执行afterControllerAction:默认是CWebApplication,为空
|<------------|
完成

浙公网安备 33010602011771号