Хранение объекта User Doctrine в symfony 1.4 - PullRequest
0 голосов
/ 27 мая 2011

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

Могу ли я сохранить его в sfContext?

Ответы [ 2 ]

1 голос
/ 29 мая 2011

Symfony не рекомендует сохранять объекты в сеансе, см. Здесь, например: http://www.symfony -project.org / gentle-введение / 1_4 / ru / 06-Внутри-уровня контроллера # chapter_06_sub_accessing_the_user_session

... Но вы можете сохранить user_ids и другие биты, которые экономят на запросах. Это действительно зависит от того, требуется ли для всего, что вам нужно сделать на всех этих страницах, весь пользовательский объект. Если да, то $this->getUser()->getGuardUser() - это то, чем вы будете пользоваться везде.

1 голос
/ 27 мая 2011

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

В действиях вы можете получить пользовательский объект с помощью:

$this->getUser()

В виде он уже загружен в переменную:

$sf_user
...