daedalus-web/sessions

此包已被弃用,不再维护。未建议替代包。
此包的最新版本(v2.0.0)没有可用的许可证信息。

Daedalus Web框架的会话处理模块

v2.0.0 2017-08-11 16:30 UTC

This package is not auto-updated.

Last update: 2021-10-04 19:28:50 UTC


README

Build Status Scrutinizer Code Quality Packagist version Code Coverage

Daedalus Web应用程序框架的会话处理模块。

安装

此模块通常作为Daedalus Web应用程序的一部分使用。如果您想在非Daedalus项目中使用它,可以将以下内容添加到您的composer.json文件中

{
  "require": {
    "daedalus-web/sessions": "^1.0"
  }
}

使用方法

此模块处理会话。

// Create a new Session
$session = new Daedalus\Sessions\Session();
Session::start();


// Writing to the session
Session::add('oauth_token', 'abcd12345');
$token = Session::get('oauth-token');

// Closing or Destroying the session
Session::finish();
Session::clear();

存储方法及扩展会话

目前我们仅支持通过 \Daedalus\Database 模块使用 POD 的 MySQL。您可以通过向 src/Daedalus/Sessions/Handlers 添加新的类文件来扩展此模块,作为新的处理程序。您的处理程序必须具有以下类方法,每个方法都返回一个布尔值(除read外,它返回一个字符串)

open 作用:创建任何需要的文件结构/软件连接。返回:布尔值

close 作用:清理在 session_destroy() 之后不应该留下的任何东西,例如数据库连接。返回:布尔值

read 作用:从您的存储介质中读取,并返回已保存的 $data 或如果没有找到数据则返回空字符串。返回:字符串

write 作用:将会话数据写入您的存储介质。返回:布尔值

destroy 作用:从您的存储介质中删除具有给定 $id 的会话。返回:布尔值

gc 作用:删除最后 $maxlife 秒内未访问的存储介质中的所有会话。返回:布尔值

会话层次结构

所有会话信息都存储在 $\_SESSION['daedalus'] 中。这确保了您添加到会话中的任何信息都不会与其他非Daedalus会话值冲突。会话信息应按命名空间方式存储,模块名称附加到键上,并用连字符分隔(例如:$\_SESSION['daedalus']['authentication-method']

目前不支持多维数组,但是您可以使用 Session::add() 保存关联数组,然后使用 Session::get() 返回数组。

关于

要求

Daedalus Sessions经过全面测试,确保与以下版本兼容

  • PHP 7.0
  • PHP 7.1

严格来说,此模块可以修改以支持PHP 5.5+,但我们使用了在PHP 7.0之前不可用的严格变量类型。由于PHP 5.6不再接收积极支持(并且只会在未来一年内接收安全更新),我们强烈建议以PHP 7或更高版本开始任何新项目。

提交错误和功能请求

错误和功能请求在 GitHub 上跟踪

作者

Josh Grancell - josh@joshgrancell.com - https://github.com/jgrancell

许可协议

Daedalus Sessions遵循MIT许可协议 - 有关详细信息,请参阅LICENSE文件