获取yii2中重定向请求的URL?

时间:2017-08-14 06:32:22

标签: php redirect yii2

对不起我的英语,但我想说的是下面的解释。

我有一个控制器说ControllerCard,它有这样的动作。

function actionScanCard()
{
    ...
    $this->redirect('/transaction/redeem');
    ...
}

在其他控制器ControllerTransaction中,我试图从/card/scan-card

获取/重定向
function actionRedeem()
{
    $redirectFrom = ????;
    if ($redirectFrom === '/card/scan-card')
    {
        // some actions
    }
    else
        throw new ForbiddenHttpException('Must scan card!');
}

如何使用Yii2获得此$redirectFrom值?

1 个答案:

答案 0 :(得分:1)

你可以使用remember()& yii \ helpers \ BaseUrl中的previous()方法。

function actionScanCard()
{
    ...
    \yii\helpers\Url::remember();
    $this->redirect('/transaction/redeem');
    ...
}
在TransactionController(或其他)中

function actionRedeem()
{
    $url = \yii\helpers\Url::previous();
    if($url === Url::to('card/scan-card')) {
        // some actions
    } else{}
}