2013-12-21 40 views

回答

1

這很簡單,如果您需要在收到響應之前設置cookie,那麼您應該對它進行排隊,以便在發送響應時,Cookie將自動附加響應。例如,通常你會喜歡這個

$response = Response::make('Hello World'); 
$response->withCookie(Cookie::make('name', 'value', $minutes)); 

響應附加的cookie現在認爲你沒有在你的手還沒有迴應,並要附加一個cookie的響應,所以在這如果你只是排隊使用

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

所以一個cookie,每當響應將被髮送,排隊的cookie將被與響應連接,將與響應一起自動發送,換句話說,任何排隊的cookie將b自動附加響應,因此您可以將cookie與響應一起發送,並且每當響應將被髮送時,隊列中的cookie都會被w生病也會被髮送,您不必手動將cookie添加到響應中。

也許你能想到這樣的事情:

Step-1: You are in a before filter 
Step-2: You determined to send a cookie with the response later so queue it here 
Step-3: You are in the Controller and finally you did something like 

return View:make(...); 

Laravel會檢查是否有任何的cookie排隊,如果它發現隊列中的任何Cookie,則Laravel將附加的cookie與該響應將被髮送自動響應。

+0

現在我知道隊列是提前設置cookie的,如果我在隊列中推送了多個cookie,那麼自動連接在響應將要發送時將如何執行呢? – JasonHuang

+0

與一個隊列相同。 –

相關問題