2016-08-02 44 views
0

我需要我的服務,創造一個cookiesymfony的3塊餅乾服務

public function __construct(EntityManager $em, RequestStack $request) 
{ 
    parent::__construct(); 

    $this->request = $request->getMasterRequest(); 
} 

然後當我嘗試調用我的服務裏面這個地方:

echo $this->request->cookies->get('_ga');die; 

我得到的cookie多數民衆贊成手動創建由我,而是叫 - >設置(鍵,VAL)不保存我的cookie

$this->request->cookies->set('test', time()); 
echo $this->request->cookies->get('test'); 

我得到的時間,但餅乾只存在一次,範圍這webrequest,如果我評論 - >設置,然後我應該看到時間不會改變,但我沒有看到它,因爲cookie實際上沒有存儲...任何幫助?

回答

0

也許你應該嘗試的Cookie設置,以用來建立一個答案響應對象 - 而不是要求這是你從客戶端接收的內容。

看一看這篇文章,它是Simfony 2,但我認爲原則應爲3

Symfony2: setting a cookie

$response->headers->setCookie(new Cookie("user", $user)); 

是相似的。此外,我不認爲你應該設置一個cookie在您的服務中,嘗試將所有必需的信息作爲業務數據類傳遞給服務,並返回一個可用於制定響應對象(包括cookie)的類。