web-dev-qa-db-de.com

So setzen Sie Cookies in laravel 5 unabhängig voneinander im Controller

Ich möchte Cookies in Laravel 5 unabhängig einstellen

d.h. ich möchte nicht verwenden

return response($content)->withCookie(cookie('name', 'value'));

Ich möchte nur auf einer Seite Cookies setzen und auf einer anderen Seite abrufen

So kann Schöpfung sein

$cookie = Cookie::make('name', 'value', 60);

Aber wie kann ich diese Cookies in einem Controller selbst abrufen?

23
user4989228

Sie können dies versuchen:

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

Dadurch wird das Cookie in eine Warteschlange gestellt, um es später zu verwenden. Später wird es zusammen mit der Antwort hinzugefügt, wenn die Antwort zum Senden bereit ist. Sie können überprüfen Sie die Dokumentation auf Laravel Website.

Update (Retrieving A Cookie Value):

$value = Cookie::get('name');

Hinweis: Wenn Sie in der aktuellen Anfrage ein Cookie setzen, können Sie dieses bei der nächsten Anfrage wieder abrufen.

44
The Alpha

Wenn Sie ein Cookie setzen und es außerhalb der Anfrage erhalten möchten, ist Laravel nicht Ihr Freund.

Laravel-Cookies sind Teil von Request. Wenn Sie dies also außerhalb des Request-Objekts tun möchten, verwenden Sie good 'ole PHP setcookie (..) und $ _COOKIE, um es abzurufen.

3
Jeffz

Sie gehen den richtigen Weg, mein Freund. Nun, wenn Sie cookie irgendwo im Projekt abrufen möchten, geben Sie einfach diesen Code ein. $val = Cookie::get('COOKIE_NAME'); Das war's! Für weitere Informationen, wie dies gemacht werden kann, klicken Sie hier

1
Jigs Virani

Hier ist ein Beispielcode mit Erklärung.

 //Create a response instance
 $response = new Illuminate\Http\Response('Hello World');

 //Call the withCookie() method with the response method
 $response->withCookie(cookie('name', 'value', $minutes));

 //return the response
 return $response;

Das Cookie kann für immer festgelegt werden, indem die Methode forever verwendet wird, wie im folgenden Code gezeigt.

$response->withCookie(cookie()->forever('name', 'value'));

Cookie abrufen

//’name’ is the name of the cookie to retrieve the value of
$value = $request->cookie('name');
0