web-dev-qa-db-ja.com

コントローラ内で独立してlaravel 5にCookieを設定する方法

CookieをLaravel 5に個別に設定したい

すなわち、使用したくない

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

あるページでCookieを設定し、別のページで取得したい

作成はこのようにすることができます

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

しかし、いくつかのコントローラ自体でこれらのクッキーを取得するにはどうすればよいですか?

23
user4989228

これを試すことができます:

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

これは、後で使用するためにCookieをキューに入れ、後で応答を送信する準備ができたときに応答と共に追加されます。 ドキュメントを確認Laravelウェブサイトで。

更新(Retrieving A Cookie Value):

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

注:現在のリクエストでCookieを設定すると、次のリクエストでCookieを取得できます。

44
The Alpha

Cookieを設定してリクエスト外で取得する場合、Laravelは友達ではありません。

Laravel CookieはRequestの一部です。したがって、Requestオブジェクトの外部でこれを行う場合は、適切な 'ole PHP setcookie(..)および$ _COOKIEを使用して取得してください。

3
Jeffz

あなたは私の友人の正しい道を進んでいます。プロジェクトのどこでもcookieを取得したい場合は、このコードを入れてください$val = Cookie::get('COOKIE_NAME');それだけです! 詳細については、ここをクリックしてください

1
Jigs Virani

以下に説明付きのサンプルコードを示します。

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

Cookieは、以下のコードに示すように、foreverメソッドを使用して永久に設定できます。

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

クッキーを取得する

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