background image

private

 

$_sessKeyPrefix

 = 'sess_';

private

 

$_sessExpireTime

 = 86400; 

private

 

$_cookieDomain

 = '.guigui8.com'; 

//全域 cookie 域名

private

 

$_cookieName

 = '_PROJECT_MEMCACHE_SESS';

private

 

$_cookieExpireTime

 = ''; 

 

private

 

$_memServers

 = 

array

('192.168.0.3' => 11211, '192.168.0.4' => 11211);

private

 

$_sessContainer

 = 

array

(); 

//当前用户的 session 信息

private

 

static

 

$_instance

 = null; 

//本类单例对象

// }}}

 
 

/**
* 单例对象获取的静态方法。
* (可以顺便提供 memcache 信息存储的服务器参数)
*
* @param string $host - memcache 数据存储的服务器 ip
* @param integer $port - memcache 数据存储的服务器端口号
* @param bool $isInit - 是否实例化对象的时候启动 Session
*/
public

 

static

 

function

 getInstance(

$host

='', 

$port

=11211, 

$isInit

 = true) {

if

 (null === self::

$_instance

) {

self::

$_instance

 = 

new

 self(

$host

$port

$isInit

);

return

 self::

$_instance

;

}
 

/**
* 构造函数
*
* @param bool $isInit - 是否实例化对象的时候启动 Session
*/
private

 

function

 __construct(

$host

='', 

$port

=11211, 

$isInit

 = false){

!

empty

(

$host

) && 

$this

->_memServers = 

array

(trim(

$host

) => 

$port

);

$isInit

 && 

$this

->start();

}
 

/**
*=-----------------------------------------------------------------------=
*=-----------------------------------------------------------------------=
* Public Methods