Cookie::queue(...
используется для прикрепления файла cookie к вашему ответу (альтернатива), согласно документам.Если вы проверяете заголовки ответа, вы должны заметить, что Set-Cookie: currentLang=someencryptedvalue
действительно существует.
Я создал несколько прототипов конечных точек для иллюстрации создания и удаления файлов cookie:
use Illuminate\Support\Facades\Cookie;
Route::get('/wont-clear-cookie', function() {
Cookie::forget('currentLang');
return redirect()->to('/get-cookie');
});
Route::get('/clear-cookie', function() {
Cookie::queue(Cookie::forget('currentLang'));
return redirect()->to('/get-cookie');
});
Route::get('/set-cookie', function() {
Cookie::queue('currentLang', 'heb', 999999999);
return redirect()->to('/get-cookie');
});
Route::get('/get-cookie', function() {
dump(Cookie::get('currentLang'));
dd(request()->cookie('currentLang'));
});
Указанные выше конечные точки должны бытьПоместите в web.php
.
Также убедитесь, что ваша группа промежуточного программного обеспечения web
правильно настроена в App\Http\Kernal.php
:
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],