重定向后删除Symfony cookie

时间:2015-03-15 21:38:13

标签: symfony cookies

我知道有一些关于此的话题,但我明白了我做错了什么。

我设置cookie的功能是

public function createCookie($city)
{
    $expire = time() + (3600 * 24 * 90);
    $cookie = new Cookie('calendar_dev_city', $city, $expire, '/', 'cal.dev', false, false);

    $response = new Response();
    $response->headers->setCookie($cookie);
    $response->sendHeaders();
}

如果我在此函数末尾转储标题,我可以看到cookie已设置但重定向后它已消失。

1 个答案:

答案 0 :(得分:0)

您必须在控制器操作中返回Response

<?php
// ...
public function pageAction() {
  $response = Response::create();
  $cookie = $this->makeCookie();
  $response->headers->setCookie($cookie);

  $response->setContent('thank you for setting the cookie!');

  return $response;
}

private function makeCookie() {
  $cookie = new Cookie(/* */);
  return $cookie;
}