Cookies Yii2以不同的格式存储cookie

Cookies Yii2以不同的格式存储cookie,cookies,yii2,Cookies,Yii2,我在服务器端使用yii2的cookie类和下面的代码设置cookie,但是当我在客户端使用javascript获得cookie时,它会以不同的格式打印出来,比如3ab2e6b3164352c0398b57bd98720da925d1254d476f4d7c4e7c2c9ce71c14a:2:{I:0;s:3:uid;I:1;I:1;}原因是什么?获取uid值的正确方法是什么 $cookies = Yii::$app->response->cookies;

我在服务器端使用yii2的cookie类和下面的代码设置cookie,但是当我在客户端使用javascript获得cookie时,它会以不同的格式打印出来,比如
3ab2e6b3164352c0398b57bd98720da925d1254d476f4d7c4e7c2c9ce71c14a:2:{I:0;s:3:uid;I:1;I:1;}
原因是什么?获取uid值的正确方法是什么

            $cookies = Yii::$app->response->cookies;
            if (!$cookies->has('uid')){
                $cookies->add(new \yii\web\Cookie([
                    'name' => 'uid',
                    'value' => Yii::$app->user->identity->id,
                    'httpOnly' => false,
                ]));                
            }

它是为cookie验证而做的,cookie验证可以保护cookie不被客户端修改

您的字符串是一个序列化的
Cookie
对象,使用PHP函数用[yii\web\Request::$cookieValidationKey}($cookieValidationKey detail)签名

您可以在中找到详细的解释

强烈建议不要关闭cookie验证。如果仍要使用未签名的cookie,请使用函数手动设置。请注意,它将在
Yii::$app->request->cookie
中不可用,您应该通过
$\u cookie
访问它