PHP сессия против класса - PullRequest
       2

PHP сессия против класса

2 голосов
/ 07 февраля 2012

У меня есть страница входа. Пользователь может войти в свою учетную запись и получить свои данные. Но я запутался, должен ли я хранить данные о пользователях в переменных сеанса или я должен передавать только идентификатор в качестве переменных сеанса, а на следующей странице все детали, полученные классом с использованием идентификатора.

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

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Это не будет иметь большого значения для производительности в течение долгого времени.Вы можете выбрать любой из методов.

По моему опыту, сохранение идентификатора в сеансе и извлечение пользовательских данных при необходимости в пользовательском классе является наиболее распространенным способом.

Сохранение объекта, содержащего пользовательские данные в сериализованной форме, также возможно в сеансе, но

  • это может стоить много памяти (поскольку данные сеанса загружаютсяв сценарий PHP при каждом запросе)

  • Нельзя полагаться на свежесть данных (что, если пользователь изменил свои предпочтения или что-то еще произошло?)

0 голосов
/ 07 февраля 2012

Я думаю, вы должны хранить идентификатор сессии только в переменных сессии. Вы не получите никакого выигрыша в производительности, если будете хранить некоторую информацию о пользователе в сеансе, потому что никогда не будете знать, какая дополнительная информация понадобится вам позже, а сериализация-десериализация также займет некоторое время (особенно когда вы храните сеансы в базе данных!).

Например, я всегда загружаю пользовательские данные из базы данных в каждом отдельном запросе, потому что мне приходится проверять пользователя по нескольким причинам: заблокирован ли он, отключен ли он, какой предпочитаемый язык, когда был ли он / она здесь в прошлый раз и так далее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...