永利视讯 > PHP技术 > laravel > Laravel 登录后清空COOKIE的操作方法
2019
10-14

Laravel 登录后清空COOKIE的操作方法

需求

在Laravel 登陆立即清空保存的COOKIE数组

实现


# Http/Controllers/Auth/LoginController.php
public function redirectTo()
{
  // 设置为登陆成功 session
  session()->put('show-login-success', 1);
 
 
  // 订阅内容
  $logs = request()->cookie('subscribe');
  if ($logs) {
    $subscribe = new Subscribe();
    foreach ($logs as $item) {
      $subscribe->addSubscribe(Auth::id(), $item);
    }
    Cookie::queue(Cookie::forget('subscribe'));
  }
 
  return session()->pull('rdTo', $this->redirectTo);
}


关键代码 Cookie::queue(Cookie::forget('subscribe'));


Laravel COOKIE 与 SESSION 注意
session(['hit.article' => $value]) 会变成数组,取的时候直接可这样取session('hit.article')
但是Cookie::make($name,'hit.article',$value) 取的时候无法取到,因为cookie name中含有点,被解析为了数组。名字中不用点号 或者取的时候将COOKIE名字中点号换成下划线。