我是ZendFramework的新手,需要帮助.. 我面临着关于Zend_Registry的问题。 我有一个AuthController,我在其中处理登录功能并在Zend_Registry中设置人员类型
$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'];
这会向$ userType返回NULL,但我需要personType。 提前谢谢......
答案 0 :(得分:1)
按原样使用Zend_Registry。
写入注册表:Zend_Registry::set('personType', $str['person_type']);
从注册表中读取:Zend_Registry::get('personType');
编辑:好的,我检查了你的方式,它似乎也在起作用。从未见过它。
回到你的问题。我认为您的AuthController和PersonController不会在同一个PHP实例中调用。 Zend Registry仅在用户请求页面直到页面发送给用户时存储数据。在登录期间设置它时,它将不会在后续用户请求中包含此数据。 你需要使用session。
答案 1 :(得分:0)
实际上,zend注册表只会保留下一个请求的数据。你将不得不使用zend session而不是zend registry