2013-09-06 15 views
8

Laravel 4でCookieをどのように使用しますか?Laravel 4でCookieを使用する

私はそれが簡単で何かが私とクリックしていないと確信していますが、少し助けが必要です。あなたがそれを設定するのですか、脇カスタム応答を返すから、その後

$cookie = Cookie::make('test-cookie', 'test data', 30); 

は、私の知る限り、あなたはこのようなクッキーを作成する必要がありますか?カスタムレスポンスで何を設定しているのですか?いつこれをやりたいのですか?

クッキーを設定してビューを返す場合はどうすればよいですか?何が良いのですかreturn Response::make('some text')->withCookie('test-cookie')実際に私に私を見せてくれることを除いてwithCookie()を使っていますか?

誰かが情報を入力するように...

...私はおそらくここで何かが欠けてる、と言うが、どのように私は実用的な方法でクッキーを使用するように、ログインする、などとI」クッキーを設定して、ビューで作成されたページにそれらを持って行くのが好きですか?

答えて

10

ビュー付きのクッキーを返すには、ビューをResponseオブジェクトに追加して全体を返す必要があります。例:

$view = View::make('categories.list')->with('categories', $categories); 
$cookie = Cookie::make('test-cookie', 'test data', 30); 

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

ええ、これはもう少しです。その理由は、ビューとレスポンスは別々の2つのことです。ビューを使用して、さまざまな用途のためにコンテンツとデータを解析できます。必ずしもブラウザに送信する必要はありません。それはレスポンスのためのもので、ヘッダーやクッキーなどの性質を設定したい場合は、レスポンスオブジェクトを介して行われます。

+0

に送信するクッキーをキューに入れることができますか? –

1

また、あなたはリダイレクトするだけの十分な応答/ビュー/にクッキーを添付することができ、他の回答で述べたように、この

return Redirect::route('home')->withCookie($cookie); 
+0

はいできます。これまでは 'Response :: make'でしかできないと思っていました。 –

3

のようにリダイレクトするためにクッキーを添付することができます。

$cookie = Cookie::make('name', 'value', 60); 
$response = Response::make('Hello World'); 

return $response->withCookie($cookie); 

または

$cookie = Cookie::make('name', 'value', 60); 
$view = View::make('categories.list'); 

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

または

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

return Redirect::route('home')->withCookie($cookie); 

しかし、あなたはあなたの応答にあなたのクッキーを添付する必要はありません。 Cookie:queue()を使用すると、Cookie :: make()を使用するのと同じ方法で、送信時にクッキーが応答に含まれます。余分なwithCookie()メソッドは必要ありません。

出典:http://laravel.com/docs/requests#cookiesこの1つは、私が使用することを好むものです

3

:任意の時点で、あなたはクッキーのデータをretriveする方法次のリクエスト

Cookie::queue('cookieName', 'cookieValue', $lifeTimeInMinutes); 
+0

どういうわけか、このキューは私のために働きます。 makeは知られていない理由で動作しませんでした。 –

+0

これが受け入れられる回答である必要があります。あなたは1つでそれをすることができるときに何か2ステップで何をするのですか? –

関連する問題