Как получить идентификатор сеанса в действии Symfony?
Я использую Symfony 1.4 и Doctrine 1.2. Мне нужно получить идентификатор сеанса внутри действия.
Я использую хранилище сессии доктрины, и это прекрасно работает. Я также использую sfDoctrineGuardPlugin и могу получить и установить переменные сеанса у пользователя в соответствии с рекомендуемой практикой, используя такой код:
$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');
Но как мне получить идентификатор сеанса текущего пользователя?
1 ответ
Кажется, вы не можете получить доступ к sfStorage
от объекта пользователя. sfSessionStorage
сохраняет пользовательские данные в сеансе...
Таким образом, единственный способ, которым я сейчас вижу, - это называть session_id()
,
Если вы хотите, чтобы это идеально, вы должны расширить sfSessionStorage
добавление метода для получения идентификатора сеанса. Затем назначьте это хранилище пользователю, и вы сможете позвонить $this->getUser()->getStorage()->getSessionId();
,