如何在视图文件中设置Laravel中的Cookie

时间:2015-11-17 14:59:13

标签: php cookies laravel-5

我想在View File(example.blade.php)中创建一个cookie。我想在layoutfile目录中的masterfile.blade.php中创建cookie,所以我没有控制器。在另一个控制器和另一个视图中,我可以设置cookie,但我希望在应用程序启动时设置cookie。我怎样才能做到这一点。我已经在控制器中完成了它,但我不知道如何直接在视图中使用,有人帮助。

$cookie_value= rand(1000,10000).$timestamp;
        $view = View::make('shop.show',compact('productTabs','product','storename','business'));
        $cookie = Cookie::make('gdoox_shopping_cart', $cookie_value, 1000);
        return Response::make($view)->withCookie($cookie);

1 个答案:

答案 0 :(得分:0)

如果您的Cookie尚未设置,则可以使用Global Middleware设置Cookie。

public function handle($request, Closure $next)
{
    if (!$request->hasCookie('gdoox_shopping_cart')) {
        $cookie_value= rand(1000,10000).$timestamp;

        return $next($request)->headers->setCookie(Cookie::make('gdoox_shopping_cart', $cookie_value, 1000));
    }

    return $next($request);
}

不要忘记在Http / Kernel.php的中间件属性中注册您的中间件