Zend framework 从Zend_会话_命名空间读取时是否包含所有类?

Zend framework 从Zend_会话_命名空间读取时是否包含所有类?,zend-framework,zend-session,Zend Framework,Zend Session,我的会话中有两个名称空间:“全局”和“用户” 在“全局”中,只有一些设置,在“用户”中,我有一个序列化的用户对象,我想它已正确保存: (这来自sessionfile) 全球| a:16:{ [...] s:12:“最后的请求”;i:1301390173; [...] } 用户| a:1:{ s:10:“用户对象”;O:16:“当前用户模型”:24:{ [...] s:10:“*_roleId”s:7:“premium”; [...] } } 当我这样做时: $sess=新Zend_会话_名称空间

我的会话中有两个名称空间:“全局”和“用户”

在“全局”中,只有一些设置,在“用户”中,我有一个序列化的用户对象,我想它已正确保存: (这来自sessionfile)

全球| a:16:{ [...] s:12:“最后的请求”;i:1301390173; [...] }

用户| a:1:{ s:10:“用户对象”;O:16:“当前用户模型”:24:{ [...] s:10:“*_roleId”s:7:“premium”; [...] } }

当我这样做时:
$sess=新Zend_会话_名称空间(“全局”)

我在包含“currentUserModel.php”时遇到了一个错误,我不想这样做,因为此时我不需要userobject——我只想得到我的“全局”命名空间

现在的问题是: 我是否必须包含所有名称空间中存储的所有对象的所有类,或者是否可以只包含我正在访问的名称空间中的对象的类


提前感谢

Zend_会话中的名称空间只是$_会话全局变量之上的一层。在php中,这些名称空间不存在。在Zend_会话中,名称空间是来自关联数组的键

因此,当您加载会话名称空间时,实际上您加载了整个$\会话,除非您不能通过此Zend\ u会话访问其他“名称空间”。所以是的:在会话之前,您需要包含文件currentUserModel.php


另一种方法是正确使用类中的_sleep()和_wakeup()魔术方法,仅将类的属性序列化为关联数组,然后就可以开始了。

您是否使用
user
存储
user
会话?我不确定您的意思是什么。“user”是我创建的名称空间。“userObject”是会话变量,“currentUserModel”是我的类的名称。userObject和currentUserModel保存在用户命名空间或全局命名空间中查看您的错误我想它们在全局命名空间中,还有一件事您为什么要在会话中保存模型?它们应该保存在“user”中命名空间(我在sesionfile的更大部分中进行了编辑)。由于您的问题,我想我只需要保存userobject中的所有数据,并在需要时使用保存的数据创建一个新的:)这是使用_sleep()和_wakeup()方法的好时机吗?(我对OOP很陌生)我会用那种方式试试。谢谢你的帮助!