phpのyii 2におけるクッキーの使い方

2290 ワード

クッキーの設定
$cookies = Yii::$app->response->cookies; 
if (! empty ( $uid )) {
    $uCookie=$cookies->add(new Cookie([
      'name' => 'uid_ck',
      'value' =>$uid,
      'expire' =>time()+ 30*24*3600,
      'domain'=>'.yiwang.com'//       
  ]));
}

クッキーをクリア
 $cookie =  Yii::$app->response->cookies;
 $cookie->remove('uid_ck');

上記の方法でクッキーをクリアできない場合は、下にこれを追加することもできます.
$cookie =  Yii::$app->response->cookies;
$uCookie=$cookie->add(new Cookie([
  'name' => 'uid_ck',
  'value' =>'',
  'expire' =>time() - 30*24*3600,
  'domain'=>$domainCk
]));   

クッキーの取得
//        ,     
$cookies = Yii::$app->request->cookies;
if ($cookies->has('uid_ck')) {
  $openid = $cookies->get('uid_ck');
}

yii 2クッキー値をクリアできない、クッキー値を保存できない
公衆番号設定の脱退登録は時々yii 2でクッキー値をクリアできず、クッキー値を保存できない
1)同じ方法でクッキーを設置しているところもあればクッキーを取得しているところもあるので、上の方が使っていると思い、下の方にこの変数名$cookiesを上書きすればいいのですが、ダメなことに気づき、
次は私のエラーソースコードです.
$cookies = Yii::$app->request->cookies;
$openid = $cookies->get('optKey_open');//     
$cookies =  Yii::$app->response->cookies;//  $cookie
$cookies->add(new Cookie([//   //  $cookie   
        'name' => 'isNewUser',
        'value' => 1,
        'expire' => $setTime + 10,
        'domain' => $domainCk
]));

理由:アクセスを設定するクッキー変数は同名2)もう1つはログインが退けないことです.以下は私のエラーソースコードです.
$cookie = Yii::$app->response->cookies;
$a= $cookie->add(new Cookie([
        'name' => 'uid_ck',
        'value' => '',
        'expire' => time() - 30 * 24 * 3600,
        'domain' => $domainCk
    ]));
 $a=$cookie->add(new Cookie([
        'name' => 'optKey_open',
        'value' => '',
        'expire' => time() - 30 * 24 * 3600,
        'domain' => $domainCk
    ]));

同じ名前の$aのため、「$a=」を削除したり、2つの異なる変数名を書いたりすることができます.同じ名前が上書きされたり、私のような2つの設定が失敗したりする可能性があります.