在流明5.6的响应中设置cookie

时间:2019-02-22 03:46:06

标签: lumen

实际上我想这样设置标题

response()->json($data)->header('Set-Cookie','strCookie1',false)->header('Set-Cookie','strCookie2',false)->send();

但是Set-Cookie未显示在标题中。 有什么办法可以在Lumen 5.6中设置cookie

我看到了withCookie(cookie()),但不确定如何使用。流明中的cookie()未定义。

注意:我同时需要2个set-cookie,并且strCookie1已经是cookie值的完整长字符串。 (例如:TOKEN=abcxyz; Path=/; Expires=Sun, 24 Mar 2019 03:40:11 GMT; Max

谢谢。

1 个答案:

答案 0 :(得分:0)

根据文档here

  

但是,对于大多数路由和控制器操作,您将返回完整的Illuminate\Http\Response实例。返回完整的Response实例,您可以自定义响应的HTTP状态代码和标头。 Response实例继承自Symfony\Component\HttpFoundation\Response类,提供了多种构建HTTP响应的方法:

您可以找到设置cookie here的适当方法。参数是字符串或Symfony\Component\HttpFoundation\Cookie实例。如果您看到其中的代码(here's the link),则string参数仅在 cookie函数已定义。在这种情况下,它没有定义。因此,这种方法只给您一个选择:

为第一个参数提供一个实例 Symfony\Component\HttpFoundation\Cookie

<?php

use Symfony\Component\HttpFoundation\Cookie;

$response
    ->withCookie(
        new Cookie($name, $value, $expire)
    );