我正在将 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
方法在会话中设置一个值(如果会话也在数据库中,则设置一个值(,但我无法弄清楚我应该使用哪种新的yiiwebUser
方法,因为login
、setIdentity
、switchIdenty
方法似乎都以相同的方式工作。
如果需要,更多信息:"setState(("代码用于保存在文本字段中输入的用户ID,然后在下一页上用于询问密码。
这个特性在 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