为什么在symfony2中保存会话会删除我的属性?

时间:2013-08-24 01:21:43

标签: php session symfony symfony-2.3

这个问题完全如上所述。我的代码看起来像这样:

// These attributes are getting deleted for some reason
$this->session->set('userProfiles',new ArrayCollection($uniqueList));

// Get array filter and save it in session
$this->session->set('filter',$filter);

// Save session
$this->session->save();

// The code bellow effects my attributes above. I don't know why that is.
$this->session->set('center',$center);
// If I comment the line bellow then attributes 'userProfile' and 'filter' do not get deleted
$this->session->save();

我对于为什么$ this-> session-> save();感到非常困惑。设置我的中心属性后实际上是删除我的数据。 Symfony没有这样的记录。它可能与垃圾收集有关,但我真的不知道。

1 个答案:

答案 0 :(得分:1)

您在会话中放置的内容必须是可序列化的。 ArrayCollection似乎没有实现\Serializable接口。

您可以在documentation

中了解有关PHP会话处理的更多信息
  

当PHP关闭时,它会自动获取内容   $ _SESSION superglobal,序列化它,并使用它发送它进行存储   会话保存处理程序。