xyf90314
- xyf90314 2015-11-06 已签到连续签到28天,获得了20个金钱
- xyf90314 2015-11-05 已签到连续签到27天,获得了20个金钱
- xyf90314 2015-11-04 已签到连续签到26天,获得了20个金钱
- xyf90314 回复了 dingjj2010 的回答
首先你要理解init();在什么时候调用。
是在object创建的时候调用的魔术方法__construct();里面调用到init();而静态方法的调用不会触发construct();
所以ActiveForm::begin();先执行begin();方法,在begin();方法中调用$widget = Yii::createObject($config);的时候,才触发construct();调用到init();
而$this->options中options的值是在__construct();中Yii::configure($this, $config);方法设置,所以你会发现你方法1中有init();有值而2中没值。@dingjj2010 $widget = Yii::createObject($config)这个源码好难理解
- xyf90314 回复了 dingjj2010 的回答
首先你要理解init();在什么时候调用。
是在object创建的时候调用的魔术方法__construct();里面调用到init();而静态方法的调用不会触发construct();
所以ActiveForm::begin();先执行begin();方法,在begin();方法中调用$widget = Yii::createObject($config);的时候,才触发construct();调用到init();
而$this->options中options的值是在__construct();中Yii::configure($this, $config);方法设置,所以你会发现你方法1中有init();有值而2中没值。好帖子 顶
- xyf90314 2015-11-03 已签到连续签到25天,获得了20个金钱
- xyf90314 2015-11-02 已签到连续签到24天,获得了20个金钱