我正在使用Symfony 1.4和Doctrine 1.2。我需要在一个动作中获取会话ID。
我正在使用doctrine会话存储,并且工作正常。我也在使用sfDoctrineGuardPlugin,并且能够根据推荐的做法在用户中获取和设置会话变量,使用如下代码:
$this->getUser()->setAttribute('variable_name', $value);
$value = $this->getUser()->getAttribute('variable_name');
但是如何获取当前用户的会话ID?
答案 0 :(得分:3)
您似乎无法从用户对象访问sfStorage
。 sfSessionStorage
将用户数据存储在会话中......
因此,我目前看到的唯一方法就是调用“原生”session_id()
。
如果你想要它完美,你应该扩展sfSessionStorage
添加一个方法来检索会话ID。然后将此存储分配给用户,您就可以调用$this->getUser()->getStorage()->getSessionId();
。