創建一個名稱空間後,如果我嘗試向其中添加一個值,該變量具有特定的值,但不具有名稱空間的會話。但是,如果我創建了一個變量,那是一個數組的關鍵字,並將其添加到該變量中,它將被保存到會話中。爲了說明我的觀點: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