Как добавить cookie с помощью Zend Framework 3?

Мне нужно отправить куки в браузер, используя Zend Framework 3.

Мой код следует ниже, но он не работает:

$cookie = new Zend\Http\Header\SetCookie('CookieKey', $val, $time, '/', '');
$response->getHeaders()->addHeader($cookie);

Как правильно использовать cookie-файлы?

1 ответ

Решение

Вы устанавливаете путь к '/' и используя пустой домен '' при создании нового SetCookie пример. Передача пустой строки в качестве домена может привести к проблемам.

Вторая деталь - вам нужно провести время в будущем как третье (expires) аргумент. Вы уверены, что дали время в будущем?

Посмотрите на следующий пример, он без проблем устанавливает cookie в моём приложении ZF3:

namespace MyApp\Action;

use Zend\Http\Header\SetCookie; 

public function indexAction()
{
    $cookie = new SetCookie('bar', 'baz', time()+7200);
    $this->getResponse()->getHeaders()->addHeader($cookie);
    return new ViewModel();
}
Другие вопросы по тегам