2012-04-17 94 views
1

Yii中有什麼方法可以捕獲所有傳入請求,並在觸發函數時採取行動。我想要一個電子郵件擴展,可以設置爲類似的情況,當文檔/更新被觸發或函數SaveDocument被觸發發送電子郵件x。Yii - 捕獲所有傳入的請求

我猜我可以通過擴展Controller類來做到這一點,但這已經由權限擴展完成了。

感謝您的任何建議。

回答

4

在控制器中創建一個類過濾器保護/過濾/ EmailFilter

EmailFilter extends CFilter{ 
//fired before action 
protected function preFilter($filterChain) 
{ 
return true; // false if the action should not be executed 
} 
//fired after action 
protected function postFilter() 
{ 
    sendEmail(); 

} 
} 

public function filters() 
{ 
    return array(
    'application.filters.EmailFilter + update,saveDocument'// apply filter on update and  saveDocument action only 
); 
}