我在zend中有服务,我想使用注册表来保存sql请求,一直用于获取数据。
$r = \Zend_Registry::isRegistered('somedata');
if($r) {
$somedata = \Zend_Registry::get('somedata');
echo $r.'yes';
}else {
$results = $this->getCurlRequest('abc', 'abc', null);
\Zend_Registry::set('somedata',$results);
$somedata = $results;
echo $r.'no';
}
它总是在其他条件下来。我不知道为什么?
答案 0 :(得分:4)
基本上\ Zend_Registry范围在当前请求中,因此您需要使用Zend_Session。
if (Zend_Session::namespaceIsset('globalvars')) {
$globalSess = Zend_Session::namespaceGet('globalvars');
} else {
$globalSess = new Zend_Session_Namespace('globalvars');
}
if (isset($globalSess->yourkey)) {
echo 'Yes its is already there';
} else {
echo 'No it was not but setting it now';
$globalSess->yourkey = 'Your Value';
}