caichuanhai/session

caichuanhai session 库

v1.01 2019-05-27 07:54 UTC

This package is auto-updated.

Last update: 2024-09-27 20:02:43 UTC


README

关于

一个普通的php session 类库,依赖于phpfastcache/phpfastcache,因此支持files、redis、predis、memcache、memcached、mongodb、xcache、apc、cookie 驱动。

强烈不推荐使用cookie,非常不安全。

安装

composer require caichuanhai/session

使用

require_once path/to/vendor/autoload.php;
use caichuanhai\session;
$session = new session([$config]);

配置数组 $config 为 SESSION 配置,可不传,则使用默认值,默认值如下

array(
		'session_name' => 'CCHSESSION',
		'session_path' => '/',
		'session_match_ip' => false,
		'session_expire' => 3600*24
	)

设置单个 SESSION 配置的值

$session->setConfig($name, $value);

获取配置值

$session->getConfig([$name]);

若不传 $name 则获取所有配置,若获取的配置不存在则返回 NULL

设置驱动

  1. 使用 redis 驱动,需要安装 redis 扩展才能使用
$session->setDriver('redis', $config);
//$config配置为
$config = array(
	'host' => '127.0.0.1',
	'port' => 6379,
	'password' => null,
	'database' => null
)
  1. 使用 predis 驱动,此驱动无需安装 redis 扩展,直接使用 predis 类库
$session->setDriver('predis', $config);
//$config配置为
$config = array(
		'host' => '127.0.0.1',
		'port' => 6379,
		'password' => null,
		'database' => null
)
  1. 使用 memcache 驱动,需要安装 memcache 扩展才能使用
$session->setDriver('memcache', $config);
//$config配置为
$config = array(
		'host' => '127.0.0.1',
		'port' => 11211,
		//'sasl_user' => false,
		//'sasl_password' => false
)
  1. 使用 memcached 驱动,此驱动无需安装 memcached 扩展,直接使用 memcached 类库
$session->setDriver('memcached', $config);
//$config配置为
$config = array(
		'host' => '127.0.0.1',
		'port' => 11211,
		//'sasl_user' => false,
		//'sasl_password' => false
)
  1. 使用 mongodb 驱动
$session->setDriver('mongodb', $config);
//$config配置为
$config = array(
		'host' => '127.0.0.1',
		'port' => 27017,
		'username' => '',
		'password' => '',
		'timeout' => 1,
		'collectionName' => 'Cache',
		'databaseName' => 'database'
)
  1. 使用 files、xcache、apc、cookie 驱动
$session->setDriver('files', $config);

获取 SESSION 数据

$session->item([$item]);

$item 为要获取的键名,若不存在则返回 NULL,若不传,则返回所有 SESSION 数据

设置 SESSION 数据

$session->set($item, $value);

删除 SESSION 数据

$session->unset($item, $value);

清除 SESSION 数据

$session->destroy();