在zend框架中设置cookie

Ruk*_*tel 7 php cookies zend-framework

我是zend框架的新手.我已经编写了这段代码来在我的网站上设置cookie.

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);
}
Run Code Online (Sandbox Code Playgroud)

我甚至不知道写这个代码,我的cookie是否设置?现在如果我想要检索cookie,我该怎么办呢?

Tim*_*ain 18

Zend_Http_Cookie不是用于设置cookie.它是用于Zend_Http_Client从需要cookie的站点发送和接收数据的类.要设置cookie,只需使用标准的PHP setcookie()函数:

setcookie('user_email_id', $data['user_email_id'], time() + 3600, '/');
setcookie('user_password', $data['user_password'], time() + 3600, '/');
Run Code Online (Sandbox Code Playgroud)

这将设置在1小时后到期的cookie.然后,您可以使用$_COOKIE['user_email_id']和在后续请求中访问这些请求$_COOKIE['user_password']; 或者如果您正在使用ZF的MVC类:( $this->getRequest()->getCookie('user_email_id')来自控制器方法).