$this->Widget('xxx',array()) {某controller的view文件} => aaacontroller => controller => CController => CBaseController => widget {CBaseController} => createWidget {CBaseController} => Yii::app()->getWidgetFactory {CWebApplication} => 调用coreComponent生成WidgetFactory的实例 => createWidget {CWidgetFactory} => Yii::import($className,true) {在CWidgetFactory调用,导入真正的widget类} => $widget=new $className($owner); {在CWidgetFactory调用,实例化xxx类,返回实例化好的类对象} => $widget->init(); {在CBaseController调用,运行xxx对象初始化skin,然后返回} =>回到widget {CBaseController} 函数中,调用xxx对象 $widget->run();函数
yii widget 调用过程
最新推荐文章于 2017-05-26 12:39:59 发布