我正在将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
方法使用login
,setIdentity
,switchIdenty
方法似乎没有任何方法。
如果需要,可提供更多信息:“setState()”代码用于保存在文本字段中输入的用户ID,然后将在下一页上使用该代码来询问密码。< / p>
答案 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