【问题标题】:Set cookie on response in lumen 5.6在流明 5.6 中的响应上设置 cookie
【发布时间】:2019-07-16 02:47:30
【问题描述】:

其实我想这样设置标题

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

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

我看到了withCookie(cookie()),但不知道如何使用。 Lumen 中的cookie() 未定义。

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

谢谢。

【问题讨论】:

    标签: lumen


    【解决方案1】:

    根据文档here

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

    你可以找到合适的方法来设置cookiehere。参数是字符串或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)
        );
    

    【讨论】:

    • 非常感谢。所以对于'strCookie1'字符串,我需要把它拆分出来并传递给参数。
    • 是的,更多更少$response-&gt;withCookie(new Cookie('strCookie1', false));
    猜你喜欢
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2022-01-23
    • 2015-03-16
    相关资源
    最近更新 更多