我是ZendFramework新手,需要帮助..我正面临着关于Zend_Registry的问题。我有一个在Zend_Registry中处理登录功能和设置person类型的AuthController
$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。先谢谢你...
发布于 2014-10-01 17:51:34
应该使用Zend_Registry。
写入注册表:Zend_Registry::set('personType', $str['person_type']);
从注册表读取:Zend_Registry::get('personType');
编辑:好的,我检查了你的方法,它似乎也起作用了。以前从来没见过。
所以回到你的问题上来。我认为您的AuthController和您的PersonController不是在同一个PHP实例中调用的。Zend Registry只存储从用户请求页面到页面发送给用户的时间的数据。当您在登录期间设置它时,它将不会在后续用户请求中包含此数据。为此,您需要使用session。
发布于 2014-12-23 14:25:45
实际上,zend注册中心将只为下一次请求保留数据。您必须使用zend session而不是zend注册表
https://stackoverflow.com/questions/26134587
复制相似问题