fecshop - yii2 powered




Yii2在控制器中獲取當前操作 (2)

我怎樣才能得到目前的行動?

此代碼:

if (!Yii::$app->controller->action->id == 'lang') {
    Url::remember();
}

返回一個錯誤:

PHP通知 - yii \ base \ ErrorException

試圖獲得非對象的屬性


您應該使用beforeAction()事件而不是init()

你也可以簡單地使用$this因為它包含當前的控制器。

public function beforeAction($action)
{
    if (parent::beforeAction($action)) {
        if ($this->action->id == 'lang') {
            Url::remember();
        }

        return true; // or false if needed
    } else {
        return false;
    }
}

你可以得到當前的行動id :)

 Yii::$app->controller->id;