阅读(3991) (9)

Laravel 8 将 Cookie 附加到响应中

2021-06-24 11:31:34 更新

你可以将一个 cookie 通过 cookie 方法附加到传出的 Illuminate\Http\Response 实例。你需要传入名称、值、cookie 的过期时间(以分钟为单位)给该方法:

return response('Hello World')->cookie(
    'name', 'value', $minutes
);

cookie 同样也接受一些不太频繁使用的参数。通常而言,这些参数和 PHP 内置的 setcookie 方法有着相同的作用和意义:

return response('Hello World')->cookie(
    'name', 'value', $minutes, $path, $domain, $secure, $httpOnly
); 

或者,你可以使用 Cookie 门面来 “排列” 用于从应用中附加到传出响应的 cookies。queue 方法接受一个 Cookie 实例或者用于创建 Cookie 实例的参数。这些 cookies 将会在发送到浏览器之前被附加到传出响应:

Cookie::queue(Cookie::make('name', 'value', $minutes));

Cookie::queue('name', 'value', $minutes);