Zend framework 无法使用Zend_注册表

Zend framework 无法使用Zend_注册表,zend-framework,registry,Zend Framework,Registry,我是ZendFramework的新手,需要帮助。。 我面临有关Zend_注册表的问题。 我有一个AuthController,我在其中处理登录功能并在Zend_注册表中设置人员类型 $reg = Zend_Registry::getInstance(); $reg['personType'] = $str['person_type']; 当我在AuthController中获得值时,它工作正常 $reg = Zend_Registry::getInstance(); $userType = $

我是ZendFramework的新手,需要帮助。。 我面临有关Zend_注册表的问题。 我有一个AuthController,我在其中处理登录功能并在Zend_注册表中设置人员类型

$reg = Zend_Registry::getInstance();
$reg['personType'] = $str['person_type'];
当我在AuthController中获得值时,它工作正常

$reg = Zend_Registry::getInstance();
$userType = $reg['personType'];
我也有PersonController,我在其中处理更改密码功能,在其中我也需要personType,但当我这样做时

$reg = Zend_Registry::getInstance();
$userType = $reg['personType'];
这会将NULL返回到$userType,但我需要personType。
提前感谢…

尽可能使用Zend_注册表

写入注册表:
Zend_注册表::set('personType',$str['person_type'])

从注册表读取:
Zend_注册表::get('personType')

编辑:好的,我检查了你的方法,它似乎也起作用了。以前从没见过

回到你的问题上来。我认为AuthController和PersonController没有在同一个PHP实例中调用。Zend Registry仅存储从用户请求页面到页面发送给用户的数据。当您在登录期间设置它时,它将不会在后续用户请求中包含此数据。
您需要为此使用会话。

实际上,zend registry将仅为下一个请求保留数据。您必须使用zend会话而不是zend注册表

我也尝试过您提到的方法。谢谢,我很感激我必须使用会话