sfWebResponse::setCookie PHP Méthode

setCookie() public méthode

Sets a cookie.
public setCookie ( string $name, string $value, string $expire = null, string $path = '/', string $domain = '', boolean $secure = false, boolean $httpOnly = false )
$name string HTTP header name
$value string Value for the cookie
$expire string Cookie expiration period
$path string Path
$domain string Domain name
$secure boolean If secure
$httpOnly boolean If uses only HTTP
    public function setCookie($name, $value, $expire = null, $path = '/', $domain = '', $secure = false, $httpOnly = false)
    {
        if ($expire !== null) {
            if (is_numeric($expire)) {
                $expire = (int) $expire;
            } else {
                $expire = strtotime($expire);
                if ($expire === false || $expire == -1) {
                    throw new sfException('Your expire parameter is not valid.');
                }
            }
        }
        $this->cookies[$name] = array('name' => $name, 'value' => $value, 'expire' => $expire, 'path' => $path, 'domain' => $domain, 'secure' => $secure ? true : false, 'httpOnly' => $httpOnly);
    }

Usage Example

 /**
  *  Saves the visibility option of a poll in a cookie.
  * 
  * @param sfWebRequest $request
  * @param sfWebResponse $response
  * @param aPollPoll $poll
  * @param type $value
  * @throws sfException 
  */
 static function setShowPollToCookie(sfWebRequest $request, sfWebResponse $response, aPollPoll $poll, $value)
 {
     $id = $poll->getId();
     $cookie = self::getCookieContent($request);
     if (!($value === true || $value === false)) {
         throw new sfException(__FUNCTION__ . ' only accepts "true" and "false" as values.');
     }
     $cookie = array_merge($cookie, array($id => array('show' => $value, 'timeout' => time() + self::getCookieLifetime($poll))));
     $response->setCookie(self::getCookieName(), self::encodeForCookie($cookie), time() + self::getCookieLifetime($poll));
 }