yii - post fitler和redirect不返回正确的Controller / Action对

时间:2012-11-09 14:54:09

标签: php yii url-redirection yii-filters

我有一个在我的所有控制器上运行的过滤器.. 在preFilter我有:

protected function preFilter($filterChain){
        Yii::app()->params->controller = Yii::app()->controller->id;
        Yii::app()->params->action = Yii::app()->controller->action->id;
        return true;
    }

postFilter我有:

protected function postFilter($filterChain){
    $this->controllerName = Yii::app()->params->controller ;
    $this->actionName = Yii::app()->params->action;
    $this->CheckTrigger();
    return true;
}

函数CheckTrigger()引用Yii::app()->params->controllerYii::app()->params->controller

所以这就是问题..如果我在行动中有重定向,那就刹车了。如果我注释掉我的重定向,它会再次开始工作。似乎在调用重定向时,也会调用前置和后置过滤器操作,但在重定向启动之前永远不会调用过滤器。有没有办法确保在重定向之前调用后置过滤器?我在这里错过了什么吗?

非常感谢..

1 个答案:

答案 0 :(得分:1)

在控制器操作中尝试此重定向代码:

$this->redirect('url here', false);