Symfony cookie 在重定向后被删除
Symfony cookie is deleted after redirection
我知道有一些关于此的主题,但我知道我做错了什么。
我设置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();
}
如果我在这个函数的末尾转储 headers,我可以看到 cookie 已设置,但在重定向后它就消失了。
您必须 return 在控制器操作中 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;
}
我知道有一些关于此的主题,但我知道我做错了什么。
我设置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();
}
如果我在这个函数的末尾转储 headers,我可以看到 cookie 已设置,但在重定向后它就消失了。
您必须 return 在控制器操作中 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;
}