laravel 5.2中的饼干 - 如何阅读

时间:2016-05-01 03:55:23

标签: laravel cookies request laravel-5.2

在Laravel 5.2之前,我有一个小片段来获取存储在cookie中的值:

在我看来:

    @if(!Cookie::has('colorTheme'))
        <?php $colortheme = 1; ?>
    @else
        <?php $colortheme = Cookie::get('colorTheme'); ?>
    @endif

现在这些方法不起作用。当我在L5.2中使用此片段时

$cookie_colorTheme = request()->cookie('colorTheme','1');
    @if(!isset($cookie_colorTheme)) 
        <?php $cookie_colorTheme = '1'; ?>
    @endif
    <link rel="stylesheet" class='a' id='colortheme' href="{{asset('css/colortheme_'.$cookie_colorTheme.'.css')}}">

它也不起作用,因为cookie不在请求中 - 它已存储在用户的计算机上。

我的问题:

  • 如何在Laravel 5.2中阅读cookie

  • 如果找不到cookie,我该如何设置默认值

谢谢!

1 个答案:

答案 0 :(得分:1)

您的代码看起来不错,因此Cookie可能只是空的。尝试使用dd($_COOKIE)或类似内容来了解​​正在发生的事情。

要设置默认值,您可以执行以下操作:

{{ $value = $request->cookie('name') ? $request->cookie('name') : 'default value' }}

或者您可以尝试在Blade模板中执行this

{{ $request->cookie('name') or 'default value' }}