我正在Yii建造一个购物车。现在我想构建一个名称的函数,在Charged()之后与afterSave()相同。那怎么办呢?提前谢谢
答案 0 :(得分:3)
正如Michiel所说,你应该在你的方法中使用一个事件
function charge(){
//Perform charge related actions
$this->onCharge(new CEvent($this));
//... maybe some code over here after raising the event
}
public function onCharge($event){
$this->raiseEvent('onCharge', $event);
}
现在你必须抓住引发的事件。所以在这个组件中,你将声明哪个类和哪个类需要捕获它(例如在init
方法中)
//OtherClass need to catch the the charge event
$callback = array(new OtherClass,'afterCharge')
$component->onCharge = $callback;
因此,afterCharge
执行后,OtherClass
的{{1}}方法会被调用。
顺便说一句,afterCharge方法必须具有以下签名
charge()
来源: