将Yii1的$ user-> setState('key','value')移植到Yii2

时间:2018-04-16 01:24:59

标签: yii yii2

我正在将Yii1应用升级到Yii2并且陷入移植

Yii::app()->user->setState('key', 'value');
Yii::app()->user->getState('key');

Yii::$app->user->XXXX('key', 'value');
Yii::$app->user->XXXX('key');

我知道setState方法在会话中设置一个值(如果会话也在db中,则为db),但是我无法弄清楚应该使用哪个新的\yii\web\User方法使用loginsetIdentityswitchIdenty方法似乎没有任何方法。

如果需要,可提供更多信息:“setState()”代码用于保存在文本字段中输入的用户ID,然后将在下一页上使用该代码来询问密码。< / p>

1 个答案:

答案 0 :(得分:0)

此功能在Yii2中被删除。在这种情况下,您应该使用Yii::$app->session,因为setState/getState只是简单的包装器。

关于user会话的前缀

只需使用

Yii::$app->session->set('user.some_param',$someparam);

并使用以下内容检索

Yii::$app->session->get('user.some_param' , $defaultValue);

或者您可以在自己的班级中使用Yii1实现此功能。有关闪光的信息,请参阅CODE