在 laravel 5 中,可以通过 $request->Cookie() 方法获取当前请求中的指定 cookie 值。如果你想删除一个指定的 cookie,可以使用 response 实例上的 withcookie() 方法,并将 cookie 的过期时间设置为一个过去的时间。例如:
return response('Hello World')->withCookie(cookie('name', NULL, -1));
上述代码将在响应中设置名为 name 的 cookie 值为 null,并将其过期时间设置为一个过去的时间戳。通过这种方式,浏览器将不再保存该 cookie,从而实现了删除操作。
如果你想删除所有的 cookie,可以循环遍历所有的 cookie,并分别设置其过期时间为过去的时间。
foreach($_COOKIE as $key => $value) { setcookie($key, $value, time() - 3600, '/'); }
上述代码会先遍历所有的 cookie,然后使用 setcookie() 函数将每一个 cookie 的过期时间设置为当前时间减去一小时,并将其路径设置为根路径。如果你在使用 Laravel 5,可以使用它提供的 Cookie 辅助函数来实现相同的效果。
foreach($_COOKIE as $key => $value) { Cookie::queue(Cookie::forget($key)); }
Cookie::forget() 方法将创建一个新的 Cookie 实例,并将其过期时间设置为过去的时间。然后,Cookie::queue() 方法将该实例添加到响应中,从而实现了删除操作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END