Home  >  Article  >  Backend Development  >  php cookie class (namespace used)

php cookie class (namespace used)

WBOY
WBOYOriginal
2016-07-25 08:56:43727browse
Share a php cookie operation class, which uses the namespace in php. This is relatively new, friends in need can refer to it.

A php cookie operation class that implements basic operation functions: Create cookies, set cookie expiration time, log out cookies, etc.

Code:

<?php
namespace com\net {
/**
* php cookie操作类
* by bbs.it-home.org
*/
class Cookie {

/**
 * cookie名称
 * @var string 
 */
public $name;

/**
 * cookie值
 * @var string 
 */
public $value;

/**
 * cookie过期时间 
 * @var int
 */
public $expire;

/**
 * cookie 保存路径
 * @var string 
 */
public $path;

/**
 * cookie域
 * @var string 
 */
public $domain;

/**
 * Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client. 
 * When set to TRUE, the cookie will only be set if a secure connection exists. 
 * On the server-side, it's on the programmer to send this kind of cookie only on secure connection 
 * (e.g. with respect to $_SERVER["HTTPS"]).
 * @var boolean
 */
public $secure;

/**
 * When TRUE the cookie will be made accessible only through the HTTP protocol. 
 * This means that the cookie won't be accessible by scripting languages, such as JavaScript. 
 * This setting can effectively help to reduce identity theft through XSS attacks 
 * (although it is not supported by all browsers). 
 * Added in PHP 5.2.0. TRUE or FALSE
 * @var boolean
 */
public $httponly;

/**
 * 创建cookie
 * 
 * @param string $name The name of the cookie. 
 * @param string $value [optional] The value of the cookie. 
 * @param int $expire [optional] The time the cookie expires.
 * @param string $path [optional] The path on the server in which the cookie will be available on. 
 * @param string $domain [optional] The domain that the cookie is available to. 
 * @param boolean $secure [optional] Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client. 
 * @param boolean $httponly [optional] Indicates that the cookie will be made accessible only through the HTTP protocol
 */
public function __construct($name, $value = null, $expire = null, $path = null, $domain = null, $secure = null, $httponly = null){
if(($this->name = (string) $name)){
if(!is_null($value)){
$this->value = (string) $value;
$this->expire = $expire;
$this->path = $path;
$this->domain = $domain;
$this->secure = $secure;
$this->httponly = $httponly;
} else {
$this->value = $this->exists() ? $_COOKIE[$this->name] : '';
}
} else {
throw new Exception("invalid cookie name");
}
}

/**
 * 检测cookie是否存在
 * @return boolean
 */
public function exists(){
return isset($_COOKIE[$this->name]);
}

/**
 * 通过setcookie设置cookie信息
 */
public function save(){
return setcookie($this->name, $this->value, $this->expire, $this->path, $this->domain, $this->secure, $this->httponly);
}

/**
* 注销cookie
*/
public function delete(){
return setcookie($this->name, "", time() - 3600);
}
}

}
?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn