Uaktualniam aplikację Yii1 do Yii2 i utknąłem w portowaniu
Yii::app()->user->setState("key", "value");
Yii::app()->user->getState("key");
do
Yii::$app->user->XXXX("key", "value");
Yii::$app->user->XXXX("key");
Wiem, że setState
Metoda ustawia wartość w sesji (i db, jeśli sesja jest również w db), ale nie mogę dowiedzieć się, który z nowych yiiwebUser
metoda, której powinienem użyć jako żadnego z login
, setIdentity
, switchIdenty
metody wydają się działać w ten sam sposób.
Więcej informacji w razie potrzeby: Kod "setState ()" służy do zapisania identyfikatora użytkownika wprowadzonego w polu tekstowym, który zostanie użyty na następnej stronie, aby poprosić o hasło.
Odpowiedzi:
0 dla odpowiedzi № 1Ta funkcja została usunięta w Yii2. Powinieneś użyć Yii::$app->session
w takich przypadkach, ponieważ setState/getState
było po prostu prostymi owijkami.
Informacje o przedrostku dla user
sesja
Po prostu użyj
Yii::$app->session->set("user.some_param",$someparam);
i użyj poniżej, aby odzyskać
Yii::$app->session->get("user.some_param" , $defaultValue);
Możesz też zaimplementować tę funkcję od Yii1 w swojej własnej klasie. Aby zobaczyć błyski, patrz CODE