对不起我的英语,但我想说的是下面的解释。
我有一个控制器说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
值?
答案 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{}
}