raa
(Rudenkosasha)
1
работаю с сессиями через CHttpSession
почему-то стала пропадать сессия.
даже тяжело сейчас объяснить что происходит
в общем, есть 2 страницы
-
на первой я сохраняю значение
-
перехожу на следующую страницу и получаю его там, но ничего не приходит
set/get работает через эти статические методы
public static function setData($key, $data) {
$session = new CHttpSession;
$session->sessionID = Yii::app()->session->getSessionID();
$session->open();
$session->add($key, $data);
$session->close();
}
public static function getData($key) {
$session = new CHttpSession;
$session->sessionID = Yii::app()->session->getSessionID();
$session->open();
return $session->itemAt($key);
}
работает стабильно уже несколько лет, но вот в facebook приложениях часто дает сбой
даже не знаю куда копать, в логах ничего релевантного нет
вот, нужна помощь понять куда пропадают сессионные переменные !
mihail_dev
(Mihail Cucer)
2
а чем простой обращение к $_SESSION не устраивает?
public static function setData($key, $data) {
$_SESSION[$key] = $data;
}
public static function getData($key) {
return isset($_SESSION[$key]) ? $_SESSION[$key] : null;
}
raa
(Rudenkosasha)
3
вообще всю жизнь устраивал, просто с переходом на Yii решил воспользоваться их хелпером
mihail_dev
(Mihail Cucer)
4
если решили воспользоваться то почему не пользовались а писали велосипед?
Yii::app->session->get($key,$defaultValue=null);
Yii::app->session->add($key,$value);
raa
(Rudenkosasha)
5
разве этот вариант не использует тот же класс ?
mihail_dev
(Mihail Cucer)
6
ну почти если только вы не храните данные в бд или ещё где нить!!
Я про CCacheHttpSession CDbHttpSession!
Даже если тот же класс зачем писать
$session = new CHttpSession;
$session->sessionID = Yii::app()->session->getSessionID();
$session->open();
return $session->itemAt($key);
вместо
Yii::app->session->get($key,$defaultValue=null);
п.с. дааа иногда людям не спится!!!
raa
(Rudenkosasha)
7
))))
вы вот смеетесь, а переход на $_SESSION целиком и полностью решил все проблемы 
sleptor
(Sleptor)
8
Мне кажется тут правильнее использовать
Yii::app()->user->setState() и ->getState()
http://www.yiiframework.com/doc/api/1.1/CWebUser#setState-detail