Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: А можно объект в Сессию закинуть?
 
 автор: tAleks   (13.08.2007 в 14:42)   письмо автору
 
 

А можно объект в Сессию закинуть? И будет ли он там жить? Или это не подходящая среда для него?

   
 
 автор: Trianon   (13.08.2007 в 14:47)   письмо автору
 
   для: tAleks   (13.08.2007 в 14:42)
 

неподходящая.
Сессии хранят массивы в сериализованном виде между запусками php.
Объекты а) живут в рамках запуска php и б) обычно не подвергаются сериализации.

   
 
 автор: cheops   (13.08.2007 в 15:00)   письмо автору
 
   для: Trianon   (13.08.2007 в 14:47)
 

>неподходящая.
>Сессии хранят массивы в сериализованном виде между запусками php.
>Объекты а) живут в рамках запуска php и б) обычно не подвергаются сериализации.
Почему, подвергаются... как их иначе хранить в базе данных и файлах, даже специальные методы введены __sleep() и __wakeup(), которые позволяют управлять процессом серилизации и восстановления объекта - только работают они через пень колоду.

Однако, при сохранении в сессию будут скорее всего проблемы - серилизованную строку хранить в сессии нельзя - содержимое сессии само подвергается серилизации и кофликты в этом случае неизбежны, восстановить серилизованный массив объектов может не получится - в объектно-ориентированной модели в PHP в настоящий момент имеется несколько ошибок, особенно густо их в районе серилизации.

   
 
 автор: Trianon   (13.08.2007 в 19:43)   письмо автору
 
   для: cheops   (13.08.2007 в 15:00)
 

C таким уточнением - вполне согласен.
Но вывод от этого не меняется.
Или как минимум на месте tAleks я бы его не менял.

   
 
 автор: larush   (24.09.2007 в 15:26)   письмо автору
 
   для: Trianon   (13.08.2007 в 19:43)
 

хочу попробовать работать с объектами, но не пойму как в ПХП реализуется сохранение информации объектов между обращениями пользователя. Еслия понял правильно, то создав в начале скрипта объект, наигравшись с ним вволю, я его потеряю при след. обращениях ?
Просто пробовал обращаться к объекту, сохзданному до вывода и не получалось... Как и где что надо настроить если это не так ? Чтобы объекты жили пока я их не удалю.

Спасибо !

   
 
 автор: cheops   (25.09.2007 в 11:18)   письмо автору
 
   для: larush   (24.09.2007 в 15:26)
 

Объект или массив можно преобразовать в строку при помощи фукнции serialize() - сохранить её в файле или базе данных, а при следующем сеансе восстановить при помощи функции unserialize().

   
 
 автор: larush   (01.10.2007 в 17:18)   письмо автору
 
   для: cheops   (25.09.2007 в 11:18)
 

ну так получается, что при каждом сеансе достаем объект и работаем дальше ?

   
 
 автор: cheops   (02.10.2007 в 09:18)   письмо автору
 
   для: larush   (01.10.2007 в 17:18)
 

Да.

   
 
 автор: larush   (08.10.2007 в 13:54)   письмо автору
 
   для: larush   (01.10.2007 в 17:18)
 

хорошо, а как в принципе, точнее в каком месте программы или объекта предусматривать механизм его сохраннения ?
т.е.
obj->prop1 = "new value";
obj->auto_save() // тут что-то прописать ?
или
serialize(obj) // в коде программы

Как более оптимально, правильно ?

   
 
 автор: bronenos   (08.10.2007 в 15:17)   письмо автору
 
   для: larush   (08.10.2007 в 13:54)
 

serialize

   
 
 автор: cheops   (09.10.2007 в 10:44)   письмо автору
 
   для: bronenos   (08.10.2007 в 15:17)
 

В сессию серилизованные объекты лучше не помещать - сессия сама перед сохранением подвергается серилизации, поэтому часто происходит сбой при восстановлении.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования