2013-06-19 11 views
11

Làm cách nào để xóa hoặc hủy cookie trong Laravel 4?Bỏ đặt cookie Laravel 4

Tôi đã tạo ra nó bằng cách sử dụng mã tiếp theo:

return Response::make('', 302, array('Location' => $_SERVER['HTTP_REFERER']))->withCookie($cookie);

Nhưng cuối cùng, tôi cần phải phá hủy dữ liệu này.

Tôi làm cách nào để thực hiện việc này?

Trả lời

24

Bạn có sử dụng cookie :: quên như thế này:

$cookie = Cookie::forget('cookieKey'); 

return Response::make('foo')->withCookie($cookie); 

nhớ bạn phải luôn luôn trả lại cookie với phản ứng, nó không giống như Se ssion.

2

Im khá chắc chắn của nó forget() phương pháp ..

Vì vậy, trong trường hợp của bạn .... khi $ Cookie đã được thực hiện nó đã được đưa ra một cái tên, chỉ unset nó như vậy

Cookie::forget('yourCookie'); 
+0

Tôi đã thử nó như thế này (và nó sẽ hoạt động, vì nó nằm trong tài liệu) nhưng nó sẽ không hoạt động. Cuối cùng tôi đã thực hiện một yêu cầu khác để thiết lập cùng một cookie với giá trị NULL. Không thực sự là giải pháp tốt nhất nhưng nó hoạt động. –

+2

Trong khi điều này là đúng hướng, câu trả lời của Amir dưới đây có phần quan trọng của câu đố. Cookie :: forget() chỉ tạo một cookie mới với giá trị null và hết hạn âm - bạn vẫn phải gửi nó cho khách hàng để xóa cookie của họ. – brism

+0

Crypt :: setKey (Config :: get ('app.key')); Khi sử dụng khóa của riêng bạn trong quá trình mã hóa, hãy đặt lại ứng dụng.key trước. – Joeri