将 Yii1 的 $user->setState('key', 'value') 移植到 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 方法在会话中设置一个值(如果会话也在数据库中,则设置一个值(,但我无法弄清楚我应该使用哪种新的yiiwebUser方法,因为loginsetIdentityswitchIdenty方法似乎都以相同的方式工作。

如果需要,更多信息:"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

最新更新