0
afterAction對yii2中控制器的每個動作都有效嗎?
如果不是我們應該如何使每個控制器的方法都有效?如何在yii2中爲每個控制器的方法創建afterAction?
afterAction對yii2中控制器的每個動作都有效嗎?
如果不是我們應該如何使每個控制器的方法都有效?如何在yii2中爲每個控制器的方法創建afterAction?
是,afterAction()
事件處理程序觸發控制器中的每個操作。
看看在official docs此方法:執行一個動作之後
該方法被調用。該方法將觸發
EVENT_AFTER_ACTION event
。該方法的返回值 將用作操作返回值。如果重寫此方法,您的代碼應該如下所示:
public function afterAction($action, $result)
{
$result = parent::afterAction($action, $result);
// your custom code here
return $result;
}
如果你需要對具體行動的一些代碼上限的執行,你可以使用$action
變量是這樣的:
對於單動作:
if ($action->id == '...') {
...
}
對於多個動作:
if (in_array($action->id, [..., ...]) {
...
}
或者您可以使用$action->uniqueId
來代替。
感謝您的完整回覆! – mohsen