Как я использую 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 для объекта ответа.
Ссылка на часть руководства приведена ниже. Я также приложил свои примеры, если страница когда-либо исчезнет.
$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()
.