创建一个名称空间后,如果我尝试向其中添加一个值,该变量具有特定的值,但不具有名称空间的会话。但是,如果我创建了一个变量,那是一个数组的关键字,并将其添加到该变量中,它将被保存到会话中。为了说明我的观点:Zend_Session_Namespace不按预期工作
public $submitUser;
public function init()
{
$this->submitUser = new Zend_Session_Namespace('submitUser');
Zend_Session::rememberMe(60*60*24*7);
}
public function selectUserAccount ($username)
{
$returnArray = array(
'name' => 'Man',
'surname' => 'With a surname',
'username' => $username
);
$this->submitUser->user = $returnArray;
}
插入到会话
'submitUser' =>
array
'user' =>
array
'name' => string 'Man' (length=3)
'surname' => string 'With a Surname' (length=14)
'username' => string 'jpeiseni' (length=8)
但
public function selectUserAccount ($username)
{
$returnArray = array(
'name' => 'Man',
'surname' => 'With a Surname',
'username' => $username
);
$this->submitUser = $returnArray;
}
不设置变量在会话
这是一个小麻烦事,我可能会住在一起,但我想知道是否有一个理由不允许namaspace有价值为了它自己,还是我错过了什么?
啊,妈的......我是如此沉浸在建设,我没有看看下面的简单的PHP。这很有道理。最后我用'$ this-> submitUser = new Zend_Session_Namespace('submitUser'); $ this-> submitUser = $ this-> submitUser-> submitUser;'所以它可以工作,但仍然比原来短。 – 2011-03-31 14:30:43
你的意思是'$ this-> submitUser = new Zend_Session_Namespace('submitUser'); $ this-> submitUser = $ this-> submitUser-> user;' – jimy 2011-03-31 15:27:15
其实,同样的事情。你只是使用数组键“user”,我再次使用'submitUser'。 – 2011-03-31 16:03:35