2016-08-02 42 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)的类。