Я установил несколько файлов cookie в действие Controller, а затем в другом действии я хочу прочитать набор файлов cookie и сделать что-то со значением. Однако при попытке прочитать куки-файлы все, что я вижу, это пустой массив, мой код выглядит следующим образом:
public function testSetCookieAction() { $value = 'ABCDEFGHI' $cookie = new Cookie('SYMFONY2_TEST', $value, (time() + 3600 * 24 * 7), '/'); $response = new Response(); $response->headers->setCookie($cookie); $response->send(); . . . } public function testReadCookieAction() { $response = new Response(); $cookies = $response->headers->getCookies(); // $cookies = array(0) { } }
Когда i var_dump($_COOKIE);
, Я вижу array(1) { ["SYMFONY2_TEST"]=> string(9) "ABCDEFGHI" }
Кто-нибудь знает, что я делаю неправильно?
заранее спасибо
Вы должны читать файлы cookie на объекте Request, а не на объект Void Response, который вы только что создали;)
public function testReadCookieAction(Request $request) { $cookies = $request->cookies; if ($cookies->has('SYMFONY2_TEST')) { var_dump($cookies->get('SYMFONY2_TEST')); } }