Yii2.0-多域名共享Cookie的增删改查
twocode

    一般情况下,都是在当前域名下处理cookie,但是遇到需要多个域名共享时,就需要特殊处理一下:

        增:

$cookies = Yii::$app->response->cookies;
$cookies->add(new Cookie([
    'name' => 'name',
    'domain' => $domain,
    'value' => $name,
    'expire' => time()+self::EXPIRE_TIME
]));

    针对上面 增 的方法,官网提供的删除方法均不生效

    官网删除cookie:

$cookie = Yii::$app->request->cookies->get('name');
//移除一个Cookie对象
\Yii::$app->response->getCookies()->remove($cookie);
//移除所有Cookie,目前好像不太好使
\Yii::$app->response->getCookies()->removeAll();

    有效方法:

$cookies = Yii::$app->response->cookies;
$cookies->add(new Cookie([
    'name' => 'name',
    'domain' => $domain,
    'value' => '',
    'expire' => 1
]));

    当然,也可以使用php函数setcookie(),完成以上功能,在此不多作说明!

网友评论已关闭