antonkalmykov / session-muscle

ITCourses Jazz 框架的会话提供组件

v1.0.0 2016-02-16 13:18 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:47:30 UTC


README

ITCourses Jazz 框架的会话提供组件

如何使用

每当有请求发送到服务器时,SessionMuscle 将自动启动会话。要修改或保存当前的会话数据,请使用 SessionMuscle API 方法。会话类型包括长期会话或短期会话。默认情况下,所有会话都是短期的。会话的持续时间可以在会话设置中指定。根据会话类型,会话实质上将根据 shortlong 后缀结束。例如

63073ae80b786fdc21bb7616a54d25615e6c8f28short - 短期会话的名称

或 27s45ae80b987fsc22bs4576v54d25615w6c8f28long - 长期会话的名称

垃圾收集器将根据 'runRate' 会话设置和会话生命周期类型自动启动。

注意:会话仓库必须具有读写权限。

首先,创建 SessionMuscle 组件的设置数组

// settings array
$settings = [
    // cookie name which will store the session id
    'cookieName' => 'sess',
    // session entity to record logs
    'sessLogName' => '.sesslog',
    // session repository in this case be folder,
    // generally it can be any
    'repository' => 'storage/sessions',
    // through a gap to run the garbage collector
    'runRate' => 10,
    // short session lifetime in seconds
    'short' => 60,
    // long session lifetime in seconds
    'long' => 120
];

然后,创建一个适配器,该适配器将负责维护会话(在本例中,这是将会话存储到文件的适配器)

use SessionMuscle\Adapters\FileAdapter;
$adapter = new FileAdapter();

现在您可以创建会话实例,第一个参数是会话适配器实例,第二个参数是会话设置

use SessionMuscle\Session;
$session = new Session($adapter, $settings);

SessionMuscle API

从会话中检索所有数据

$session->all(); // return array of session data

从会话中检索一个值。您还可以将默认值作为此方法的第二个参数传递。如果指定的键在会话中不存在,则返回此默认值

$session->get($key, $default = ''); // return session data or default value

向当前会话添加新数据

$session->put($key, $value); // return true on success

检查会话中是否存在项

$session->has($key); // return true if key exists or false if no

从会话中检索一个值,然后删除它。您还可以将默认值作为此方法的第二个参数传递。如果指定的键在会话中不存在,则返回此默认值

$session->pull($key, $default = ''); // return session data or default value.

通过给定键从会话中删除数据

$session->delete($key, $default = ''); // true on successful removal or false if no

要获取当前会话 ID 和会话类型(如果存在),请使用

$session->getSessID(); // current session ID with session type

要获取当前仓库,请使用

$session->getRepository();

要获取当前会话 cookie 名称,请使用

$session->getCookieName();

要获取使用的会话类型,请使用

$session->getSessionTypes(); // return array of session types

要获取当前会话类型,请使用

$session->getSessionType(); // return current session type

要设置当前会话类型,请使用

$session->setSessionType($sessionType);

要获取当前会话设置,请使用

$session->getSessionSettings(); // return current session settings array

要保存当前会话,请使用

$session->save();

要重新生成当前会话,请使用

$session->regenerate();

要完全删除当前会话,请使用

$session->clear();