| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Хранение объектов |
| Автор: Ortis 8.3.2012, 17:55 |
| Всем привет! Тут на форуме есть пара тем о том где хранить созданные объекты, но я так и не понял как лучше? Поясняю: Пользователь заходит на сайт под своим логином и паролем. Есть объект - экземпляр класса "пользователь", который хранит тип пользователя, его e-mail и дт. и т.п. Чтобы не нагружать БД и не загружать постоянно данные пользователя, когда он перейдет на другую страницу, требуется где-то хранить объект. Что же все-таки для этого лучше? Серелизовать поля объекта и хранить их в сессии, использовать патерн регистра, хранить объекты в файле? Как Вы решаете этот вопрос? |
| Автор: skyboy 8.3.2012, 18:48 |
| чтоб передать данные между разными запросами(страницами) в пределах сессии пользователя, надо использовать: 1. некий идентификатор, который гарантированно будет сохраняться между запросами(кука) 2. хранилище данных - файл(файл обычный; файл, создаваемый механизмом сессий; файл, создаваемый СУБД) или другой ресурс(удаленный сервер Memcache или shared memory) 3. механизм для сохранения данных и восстановления(іerialize, json_encode и прочее) итак, какой смысл уходить от "стандартного" механизма сессий? вроде ж, всё есть. чего тебе не хватает? и как он будет передаваться между запросами? |
| Автор: Ortis 9.3.2012, 12:56 | ||
Через статические поля методы. Но, врочем, это уже не важно. Спасибо за ответ. |
| Автор: skyboy 9.3.2012, 17:52 |
без сериализации/сохранения в базу/файл статические поля "умрут" вместе с завершением обработки запроса. и при обработке следующего запроса(страницы) будут инициализироваться заново. так что реестр в данном случае может разве что выступать оберткой для механизма сессиий или другого метода сохранения данных. |