Хранить модель домена в сеансе PHP - PullRequest
1 голос
/ 23 марта 2010

Это хорошая практика для хранения объектов модели предметной области в сеансе PHP?

Это позволит избежать запроса и реконструкции каждого объекта PHP для каждого запроса PHP.

Есть ли ограничение по размеру?

1 Ответ

2 голосов
/ 23 марта 2010

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

Конечно, это сильно зависит от того, какие классы вы используете. Построение класса обычно не очень проблематично с точки зрения производительности, если для этого не требуется очень много вещей (запросы к базе данных и т. Д.)

Кроме того, это может сделать ваш код менее понятным и / или обслуживаемым.

И да, есть размер, ограниченный максимальным использованием памяти PHP, установленным в php.ini

Так что этот вопрос на самом деле не отвечает, если вы точно не знаете, какие классы вы хотите сохранить в сеансе, что они делают и как они взаимодействуют.

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

...