Heim  >  Artikel  >  Backend-Entwicklung  >  php cookie类(用到了命名空间)

php cookie类(用到了命名空间)

WBOY
WBOYOriginal
2016-07-25 08:56:43763Durchsuche
分享一个php cookie操作类,用到了php中的命名空间,这个比较新颖,有需要的朋友参考下吧。

一个php cookie操作类,实现了基本的操作功能: 创建cookie、设置cookie的过期时间、注销cookie等。

代码:

<?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);
}
}

}
?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn