Laravel Cookie:设置 Cookie 2 个改进

问题#

在 Laravel 中如何设置 cookie?

回答#

在 Laravel 中可通过 response 对象的 withCookie 方法来设置 cookie:

Route::get('hello', function () {
    return response('Hello World', 200)
            ->header('Content-Type', 'text/plain');
            ->withCookie('name', 'value', 10);
});

也可以先创建一个 cookie 对象,再附加至响应中:

Route::get('hello', function () {
    $cookie = cookie('name', 'value', 10);

    return response('Hello World', 200)
            ->header('Content-Type', 'text/plain')
            ->withCookie($cookie);
});

Cookie 的过期时间#

cookie 的过期时间是在 config/session.php 中设置

'lifetime' => 120,
'expire_on_close' => false,

当 expire_on_close=true 时,cookie 关闭浏览器,失效;
当 expire_on_close=false,取 lifetime 的值,单位是(分钟)。

参考#

本文为 Wiki 文章,邀您参与纠错、纰漏和优化