/** * Cookie相关操作 * @param string $name * @param string $value * @param string $opt * @return string|null */ public static function cookie($name = '', $value = '', $opt = null) { //参数设置处理 if (!is_null($opt)) { if (is_numeric($opt)) { $opt = array('expire' => $opt); //设置有效期 } self::$_cookieConfig = array_merge(self::$_cookieConfig, $opt); } //清除所有Cookie if (is_null($name)) { $cookies = Request::cookies(); if (!empty($cookies)) { foreach ($cookies as $key => $val) { setcookie($key, '', time() - 3600, self::$_cookieConfig['path'], self::$_cookieConfig['domain'], self::$_cookieConfig['secure'], self::$_cookieConfig['httponly']); Request::unsetParam($key, 'cookie'); } } return null; } elseif ('' === $name) { return Request::cookies(); //获取所有cookie } $cookieKey = self::$_cookieConfig['prefix'] . $name; if ('' === $value) { //获取指定的Cookie if (Request::cookie($cookieKey)) { return Request::cookie($cookieKey); } return null; } else { if (is_null($value)) { //删除指定Cookie setcookie($cookieKey, '', time() - 3600, self::$_cookieConfig['path'], self::$_cookieConfig['domain'], self::$_cookieConfig['secure'], self::$_cookieConfig['httponly']); Request::unsetParam($cookieKey, 'cookie'); } else { //设置Cookie $expire = !empty(self::$_cookieConfig['expire']) ? time() + intval(self::$_cookieConfig['expire']) : 0; setcookie($cookieKey, $value, $expire, self::$_cookieConfig['path'], self::$_cookieConfig['domain'], self::$_cookieConfig['secure'], self::$_cookieConfig['httponly']); } } return null; }