gpt4 book ai didi

php - 在字符串上调用成员函数redirect() - Yii2 v2.0.36

转载 作者:行者123 更新时间:2023-12-03 08:31:29 25 4
gpt4 key购买 nike

当我尝试从 Controller 的 init() 函数重定向到 url 时,我收到此消息调用字符串上的成员函数重定向()

public function init()
{
$someCondition = myBoolFunction();
if ($someCondition) {
return $this->redirect('my/url'));
}

parent::init();
}

最佳答案

您需要调用 $this->redirect() after parent::init(),因为 $response 属性(由 $this->redirect() 使用)是 initialized there .

public function init() {
parent::init();

$someCondition = myBoolFunction();
if ($someCondition) {
return $this->redirect('my/url'));
}
}

但一般来说 init() 不是进行此类重定向的好地方(它甚至可能不起作用,因为 init() 不应该返回任何内容,因此您的重定向可能会被忽略),您应该使用 beforeAction() 代替。 Here you can see how to configure response in beforeAction() ,只需将 asJson() 替换为您的重定向即可:

public function beforeAction() {
parent::init();

$someCondition = myBoolFunction();
if ($someCondition) {
$this->redirect('my/url'));
return false;
}

return parent::beforeAction();
}

关于php - 在字符串上调用成员函数redirect() - Yii2 v2.0.36,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64937254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com