Yii2,重定向在静态函数中不起作用

时间:2019-08-05 06:53:33

标签: function redirect static yii2

这是一个非常奇怪的行为,它从未发生在我身上。

我的SiteController中有index操作:

public function actionIndex(){
  Installer::ManageInstall(); //Here I have separated code
  $this->render('myView');. 
}

然后在安装程序类的静态函数中:

class Installer {
  public static function ManageInstall(){          
          return  Yii::$app->controller->redirect(['install']);

  }
}

问题是yii完全忽略了重定向,而且我不知道为什么,永远不要重定向。

我直接尝试过,它的工作原理是:

public function actionIndex(){
   return  Yii::$app->controller->redirect(['install']);//Here works fine
        $this->render('myView');. 
     }

您可能会问,因为我做了一个愚蠢的示例,但实际上,我已将代码简化到最低程度,只是为了显示问题。实际上,Installer类使用另一个条件重定向,我没有放置它,因为它与问题无关。

我尝试过以下表达式:

     Yii::$app->response->redirect(['install'])->send(); return;

 Yii::$app->controller->redirect('install'); //without Return statement

..没什么

1 个答案:

答案 0 :(得分:0)

它应该这样工作:

return Yii::$app->response->redirect(['install'])->send();

请让我知道结果。