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

Как я использую Zend_Http_Cookie для установки и чтения файлов cookie?

Я пытаюсь настроить cookie следующим образом:

$cookie = new Zend_Http_Cookie('TestCookie','TestValue','localhost.com') но cookie не генерируется. Также как я читаю файлы cookie с Zend?

благодаря

Насколько я знаю, в Zend Framework нет класса setCookie. Просто используйте «plain» php:

 setcookie('cookieName', 'value', 'lifetime', 'path', 'domain'); 

Чтобы прочитать файл cookie, вы можете использовать Zend_Controller_Request_Http(); как пример:

  $request = new Zend_Controller_Request_Http(); $myCookie = $request->getCookie('cookieName'); 

Для Zend 1.12 существует способ установить файлы cookie для объекта ответа.

Ссылка на часть руководства приведена ниже. Я также приложил свои примеры, если страница когда-либо исчезнет.

http://framework.zend.com/manual/1.12/en/zend.controller.response.html#zend.controller.response.headers.setcookie

 $this->getResponse()->setRawHeader(new Zend_Http_Header_SetCookie( 'foo', 'bar', NULL, '/', 'example.com', false, true )); 

или

 $cookie = new Zend_Http_Header_SetCookie(); $cookie->setName('foo') ->setValue('bar') ->setDomain('example.com') ->setPath('/') ->setHttponly(true); $this->getResponse()->setRawHeader($cookie); - $cookie = new Zend_Http_Header_SetCookie(); $cookie->setName('foo') ->setValue('bar') ->setDomain('example.com') ->setPath('/') ->setHttponly(true); $this->getResponse()->setRawHeader($cookie); 

Важно использовать объекты и классы Zend, чтобы вы не сталкивались с проблемами при создании тестов;)

Из проблемы github от Zend о нескольких файлах cookie:

 $setCookieHeader = new Zend_Http_Header_SetCookie('othername1', 'othervalue1'); $appendCookie = new Zend_Http_Header_SetCookie('othername2', 'othervalue2'); $headerLine = $setCookieHeader->toStringMultipleHeaders(array($appendCookie)); $this->getResponse()->setRawHeader($headerLine); 

Глядя на документы для Cookie и помня о прошлом опыте, нет способа сообщить, что объект cookie будет отправлен вместе с ответом .

Я предлагаю использовать setcookie() .