/ / Przeniesienie Yii1 $ user-> setState ("klucz", "wartość") do Yii2 - yii, yii2

Przeniesienie Yii1 $ user-> setState ("klucz", "wartość") do Yii2 - yii, yii2

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 № 1

Ta 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