2014-02-17 34 views
0

我正在使用CakePHP開發一個網站,目前正在努力與cookie。 的問題是,當我寫多點,像餅乾,CakePHP多點讀取Cookie

$this->Cookie->write("Figure.1.id",$figureId); 
$this->Cookie->write("Figure.1.name",$figureName);` 

,然後閱讀,CakePHP的不返回嵌套數組,但它返回,

array(
    '1.id' => '82', 
    '1.name' => '1' 
) 

我預計像

array(
    (int) 1 => array(
     'id'=>'82', 
     'name'=>'1' 
    ) 
) 

事實上,我在寫完後我第一次看到結果。但從第二次來看,結果就是這樣。你知道發生了什麼事嗎?

回答

0

恐怕看起來好像是多點支持。如果你看一下CookieComponent(http://api.cakephp.org/2.4/source-class-CookieComponent.html#256-289)的read()方法,你會看到這一點:

277:   if (strpos($key, '.') !== false) { 
278:    $names = explode('.', $key, 2); 
279:    $key = $names[0]; 
280:   } 

和爆炸()方法被告知你的Cookie的名稱爆炸成一個最大的兩個部分圍繞點。

你可能是最好的閱讀如下所示後,序列化要在保存,然後反序列化之前,存儲數據:http://abakalidis.blogspot.co.uk/2011/11/cakephp-storing-multi-dimentional.html

+0

我認爲它會以同樣的方式作爲示範點符號工程工作。謝謝。 – hitochan