2013-09-06 32 views
8

Çerezleri Laravel 4'te nasıl kullanıyorsunuz?Çerezleri Laravel 4'te Kullanma

Eminim ki bu basit ve bir şey benimle tıklamıyor ama biraz yardıma ihtiyacım var.

Bildiğim kadarıyla, böyle bir çerez oluşturmak zorunda söyleyebilirim: Bir özel yanıtını döndürerek kenara Sonra

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

, bunu nasıl ayarlarım? Özel yanıtla ne işe yarar? Bunu ne zaman yapmak isterdim?

Bir çerez ayarlamak ve bir görünüm vermek istiyorsam ne olur? return Response::make('some text')->withCookie('test-cookie') aslında bana withCookie()'u nasıl kullanacağımı göstermekten ne yarar sağlar?

Ben muhtemelen sadece burada bir şey eksik, demek gibi ama nasıl birileri bilgi girer gibi, giriş yapan vs ve ben ... pratik bir şekilde bir çerez ...

kullanırsınız Bir kurabiyeyi ayarlamak ve onları bir görünüm ile bir sayfaya götürmek ister misiniz?

cevap

10

Bir çerezi bir görünümle döndürmek için, görünümünüzü bir Response nesnesine eklemeniz ve her şeyi döndürmeniz gerekir. Örneğin: Yazmak biraz daha fazladır. Gerekçe, Görüşlerin ve Müdahalenin iki ayrı şey olmasıdır. Tarayıcıya göndermek için değil, çeşitli kullanımlar için içerik ve verileri ayrıştırmak için Görünümler'i kullanabilirsiniz. Tepki ne içindir, ve neden üstbilgileri, kurabiyeleri veya bu türden şeyleri ayarlamak isterseniz, bu, Response nesnesi üzerinden yapılır.

+0

gönderilecek bir çerez sıraya edebilir? –

1

Ayrıca yönlendirmeler sadece yeterli Tepki/Gösterim/için Çerezler ekleyebilir diğer cevaplar açıklandığı üzere bu

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

Evet yapabilirsin. Ve şimdiye kadar sadece bunu sadece 'Response :: make' ile yapabileceğinizi düşündüm. –

3

gibi yönlendirmeleri için çerezleri ekleyebilir.

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

return $response->withCookie($cookie); 

veya

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

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

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

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

Ama yanıtınızla Cookie takmak gerekmez. Cookie: queue() öğesini kullanarak, Cookie :: make() yöntemini kullandığınız gibi, çereziniz gönderildiğinde yanıtla birlikte verilecektir. WithCookie() yöntemine gerek yoktur.

Kaynak: http://laravel.com/docs/requests#cookies Bu seferki ı kullanmayı tercih budur

3

: Herhangi bir zamanda, çerez verilerini alınamadı nasıl sonraki isteği

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

Her nasılsa, bu sıra benim için çalışıyor. make bilinmeyen sebeplerden dolayı işe yaramadı. –

+0

Bu kabul edilen cevap olmalı. Neden bir adımda yapabileceğiniz 2 adımda bir şeyler yapıyorsunuz? –