web-dev-qa-db-fra.com

Comment configurer les cookies dans laravel 5 indépendamment à l’intérieur du contrôleur

Je veux configurer les cookies dans Laravel 5 indépendamment

c'est-à-dire, je ne veux pas utiliser

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

Je veux juste installer un cookie dans une page et récupérer dans une autre page

La création peut être comme ça

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

Mais comment puis-je récupérer ces cookies dans un contrôleur lui-même?

23
user4989228

Vous pouvez essayer ceci:

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

Cela mettra le cookie en file d'attente pour l'utiliser plus tard et il sera ajouté avec la réponse lorsque la réponse est prête à être envoyée. Vous pouvez consulter la documentation sur Laravel site Web.

Mise à jour (Retrieving A Cookie Value):

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

Remarque: Si vous définissez un cookie dans la demande en cours, vous pourrez le récupérer lors de la demande suivante.

44
The Alpha

Si vous souhaitez définir un cookie et l'obtenir en dehors de la demande, Laravel n'est pas votre ami.

Les cookies Laravel font partie de Request, donc si vous voulez le faire en dehors de l'objet Request, utilisez les bons 'ole PHP setcookie (..) et $ _COOKIE pour l'obtenir.

3
Jeffz

Vous allez bien, mon ami. Maintenant, si vous voulez rentrer cookie n'importe où dans le projet, mettez ce code $val = Cookie::get('COOKIE_NAME'); c'est tout! Pour plus d'informations, cliquez ici.

1
Jigs Virani

Voici un exemple de code avec une explication.

 //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;

Un cookie peut être défini pour toujours en utilisant la méthode forever comme indiqué dans le code ci-dessous.

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

Récupération d'un cookie

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