establecer cookie en zend framework

Soy nuevo en Zend Framework. Escribí este código para configurar cookies en mi sitio web.

public function setCookie($data){ $email_cookie = new Zend_Http_Cookie('user_email_id', $data['user_email_id'], $_SERVER['HTTP_HOST'], '', FALSE); $pass_cookie = new Zend_Http_Cookie('user_password', $data['user_password'], $_SERVER['HTTP_HOST'], '', FALSE); $cookie_jar = new Zend_Http_CookieJar(); $cookie_jar->addCookie($email_cookie); $cookie_jar->addCookie($pass_cookie); } 

Ni siquiera sé escribiendo este código, mi cookie está configurada o no? ahora si quiero recuperar la cookie, ¿cómo puedo hacerlo?

Solutions Collecting From Web of "establecer cookie en zend framework"

Zend_Http_Cookie no es para configurar cookies. Es una clase utilizada por Zend_Http_Client para enviar y recibir datos de sitios que requieren cookies. Para configurar las cookies simplemente use la función estándar de PHP setcookie () :

 setcookie('user_email_id', $data['user_email_id'], time() + 3600, '/'); setcookie('user_password', $data['user_password'], time() + 3600, '/'); 

esto establecerá las cookies que caducan en 1 hora. A continuación, puede acceder a estos en solicitudes posteriores usando $_COOKIE['user_email_id'] y $_COOKIE['user_password'] ; o si está utilizando las clases MVC de ZF: $this->getRequest()->getCookie('user_email_id') (desde un método de controlador).

Compruebe Zend_Http_Cookie

Obtendrás tu cookie de la siguiente manera:

 echo $email_cookie->getName(); // user_email_id echo $email_cookie->getValue(); // Your cookie value echo ($email_cookie->isExpired() ? 'Yes' : 'No'); // Check coookie is expired or not 

Use de esta manera usted puede hacerlo

en tu controlador, codifica como

 $cookie = new Zend_Http_Cookie('cookiename', 'cookievalue', time() + 7200 //expires after 2 hrs ); echo $cookie->__toString(); echo $cookie->getName(); //cookie name echo $cookie->getValue(); //cookie value 

Sus cookies se establecen enviando respuesta. Puedes modificar la respuesta en tu código.

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

Por defecto, el controlador frontal envía una respuesta cuando ha terminado de enviar la solicitud; por lo general, nunca tendrá que llamarlo. http://framework.zend.com/manual/1.12/en/zend.controller.response.html

Tratar:

$ret_as = COOKIE_STRING_ARRAY; Zend_Http_CookieJar->getAllCookies($ret_as); //Get all cookies from the jar. $ret_as specifies the return type //as described above. If not specified, $ret_type defaults to COOKIE_OBJECT.
$ret_as = COOKIE_STRING_ARRAY; Zend_Http_CookieJar->getAllCookies($ret_as); //Get all cookies from the jar. $ret_as specifies the return type //as described above. If not specified, $ret_type defaults to COOKIE_OBJECT. 

Ref: Zend Cookies