Почему печенье от Laravel равно нулю - 5,7 - PullRequest
0 голосов
/ 10 декабря 2018

мое печенье равно нулю!Но я не знаю:

use Illuminate\Support\Facades\Cookie;

HomeController:

public function index()
{
    Cookie::queue('currentLang', 'heb', 999999999);



      $cat1         = $this->categoryRepo->findCategoryById(1);
      $lastPosts    = $this->blogPosts->listBlogPosts(array('*'),'id','desc')->take(3);

    return view('front.index', compact('cat1','lastPosts'));
}

Теперь я хочу получить этот ключ от другого контроллера:

LoginController:

public function showLoginForm()
{
    dd(Cookie::get('currentLang'));
    return view('auth.login');
}

но возвращается ноль!Я работаю на localhost.

1 Ответ

0 голосов
/ 10 декабря 2018

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,
],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...