/ / Yii1 के $ उपयोगकर्ता-> सेटस्टेट ('कुंजी', 'मान') को Yii2 - yii, yii2 पर पोर्ट करना

Yii1 के $ उपयोगकर्ता-> सेटस्टेट ('कुंजी', 'मान') को Yii2 - yii, yii2 पर पोर्ट करना

मैं वाईआई 1 ऐप को वाईआई 2 में अपग्रेड कर रहा हूं और पोर्टिंग पर फंस गया हूं

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 ()" कोड का प्रयोग टेक्स्ट फ़ील्ड में दर्ज उपयोगकर्ता आईडी को सहेजने के लिए किया जाता है, जिसका उपयोग पासवर्ड से पूछने के लिए अगले पृष्ठ पर किया जाएगा।

उत्तर:

जवाब के लिए 0 № 1

यह सुविधा Yii2 में गिरा दी गई थी। आपको उपयोग करना चाहिए Yii::$app->session इन मामलों में, क्योंकि setState/getState उस पर बस साधारण रैपर था।

के लिए उपसर्ग के बारे में user सत्र

बस उपयोग करें

Yii::$app->session->set("user.some_param",$someparam);

और पुनः प्राप्त करने के लिए नीचे उपयोग करें

Yii::$app->session->get("user.some_param" , $defaultValue);

या आप इस सुविधा को अपनी खुद की कक्षा में वाईआई 1 से कार्यान्वित कर सकते हैं। चमक के लिए देखें CODE