Heim >PHP-Framework >Laravel >laravel5 Cookies löschen

laravel5 Cookies löschen

PHPz
PHPzOriginal
2023-05-20 18:21:07545Durchsuche

In Laravel 5 können Sie den angegebenen Cookie-Wert in der aktuellen Anfrage über die Methode $request->cookie() abrufen. Wenn Sie ein bestimmtes Cookie löschen möchten, können Sie die Methode withCookie() für die Instanz Response verwenden und die Ablaufzeit des Cookies auf einen Zeitpunkt in der Vergangenheit festlegen. Beispiel: $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()rrreee

Der obige Code setzt den Wert des Cookies mit dem Namen name in der Antwort auf null und seine Ablaufzeit auf einen Zeitstempel in der Vergangenheit. Dadurch wird der Browser das Cookie nicht mehr speichern und somit eine Löschung ermöglichen. 🎜🎜Wenn Sie alle Cookies löschen möchten, können Sie alle Cookies durchlaufen und deren Ablaufzeit auf die vergangene Zeit einstellen. 🎜rrreee🎜Der obige Code durchläuft zunächst alle Cookies und verwendet dann die Funktion setcookie(), um die Ablaufzeit jedes Cookies auf die aktuelle Zeit minus eine Stunde festzulegen und seinen Pfad zum Stammverzeichnis festzulegen Weg. Wenn Sie Laravel 5 verwenden, können Sie die bereitgestellte Cookie-Hilfsfunktion verwenden, um den gleichen Effekt zu erzielen. 🎜rrreee🎜Die Cookie::forget()-Methode erstellt eine neue Cookie-Instanz und setzt deren Ablaufzeit auf die vergangene Zeit. Die Methode Cookie::queue() fügt dann die Instanz zur Antwort hinzu und bewirkt so die Löschung. 🎜

Das obige ist der detaillierte Inhalt vonlaravel5 Cookies löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Hat Laravel eine Init-Methode?Nächster Artikel:Hat Laravel eine Init-Methode?