Как получить идентификатор сеанса в действии Symfony? - PullRequest
3 голосов
/ 23 июля 2011

Я использую Symfony 1.4 и Doctrine 1.2.Мне нужно получить идентификатор сеанса внутри действия.

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

$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');

Но как мне получить идентификатор сеанса текущего пользователя?

1 Ответ

3 голосов
/ 27 июля 2011

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

Так что единственный способ, которым я сейчас вижу, - это вызвать "native" session_id().

.должен расширять sfSessionStorage, добавляя метод для получения идентификатора сеанса.Затем назначьте это хранилище пользователю, и вы сможете позвонить $this->getUser()->getStorage()->getSessionId();.

...