Yii,基本介绍http://baike.baidu.com/view/351219.htm。
今天要介绍的就是最基本,最简单的一个widget扩展。
三个步骤。
第一步,新建一个类,继承自CWidget,文件保存在extension目录下。
第二部,完善widget的基本功能流程的代码。
class testWidget extends CWidget {
public function init() {
echo 'init';
}
public function run() {
echo 'run';
}
}
第三部,在某个view中调用。
<?php $this->widget('ext.testWidget');?>
这个时候就可以在页面看到,调用部分的输出了。
结果是initrun。
可以看到,顺序应该是先执行testWidget::init() 然后再执行testWidget::run()。
这样一来,就已经实现了一个最简单的,widget。当然,这种示例,本身并没有太大的意义,只是以此说明Yii中Widget的创建,以及调用,方法执行顺序而已。
有兴趣的朋友可以继续往下看看如何调用到testWidget的方法。
跟踪代码带CBaseController::widget() ---->CBaseController::createWidget()调用WidgetFactory生成$widget中执行 $widget->init() ----> CBaseController::widget() 中执行 $widget->run()
大致上的一个过程就是如此了,生成Widget对象,调用init方法,再调用run方法。