#php #laravel #cookies #laravel-5.3
#php #laravel #файлы cookie #laravel-5.3
Вопрос:
Как удалить файлы cookie в Laravel. Это не работает:
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->flush();
$request->session()->regenerate();
Cookie::queue(Cookie::forget('cavpad'));
Cookie::queue(Cookie::forget('cavuser'));
return redirect('/');
}
Это работает, но кажется неправильным способом сделать это:
Cookie::queue(Cookie::make('cavpad', '', 0, null, env('APP_DOMAIN')));
Cookie::queue(Cookie::make('cavuser', '', 0, null, env('APP_DOMAIN')));
Почему первый способ не работает, но второй способ работает … кстати, не имеет ничего общего с env() … Просто добавил это туда…
Комментарии:
1. Он должен быть
Cookie::forget()
внутриCookie::queue()
2. Какой у вас драйвер для файлов cookie?
Ответ №1:
Вы можете сделать это, используя предоставленный мной код, он практически такой же, но я знаю, что этот способ работает для меня. Но если вам нужно сделать это встроенным, это также может сработать для вас:
Cookie::queue(
Cookie::forget('cookieName')
);
Вот как я думаю, это должно быть сделано.
Ответ №2:
Попробуйте перенаправить следующим образом:
return redirect('/')->withCookie(Cookie::forget('cavpad'))->withCookie(Cookie::forget('cavuser'));