Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies CakePHP多点阅读Cookie_Cookies_Cakephp 2.0 - Fatal编程技术网

Cookies CakePHP多点阅读Cookie

Cookies CakePHP多点阅读Cookie,cookies,cakephp-2.0,Cookies,Cakephp 2.0,我正在使用CakePHP开发一个网站,目前正在努力使用cookie。 问题是当我用多个点写cookie时 $this->Cookie->write("Figure.1.id",$figureId); $this->Cookie->write("Figure.1.name",$figureName);` 然后读取,cakePHP不返回嵌套数组,但返回 array( '1.id' => '82', '1.name' => '1' ) 我以为会是

我正在使用CakePHP开发一个网站,目前正在努力使用cookie。 问题是当我用多个点写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'
    )
)

事实上,当我写完后阅读时,我第一次没有看到结果。但从第二次开始,结果就是这样。你知道发生了什么吗?

恐怕它看起来不支持多个点。如果查看CookieComponent()的read()方法,您会看到:

277:         if (strpos($key, '.') !== false) {
278:             $names = explode('.', $key, 2);
279:             $key = $names[0];
280:         }
该explode()方法被告知将cookie的名称分解为最多两个圆点周围的部分


您最好在保存之前序列化要存储的数据,然后在读取后反序列化,如下所示:

我认为它的工作方式与模型点符号的工作方式相同。非常感谢。