daedalus-web / sessions
Daedalus Web框架的会话处理模块
Requires
- php: ^7.0
- daedalus-web/database: ^2.0
- daedalus-web/dotenv: ^2.0
Requires (Dev)
- phpunit/dbunit: ^3.0
- phpunit/php-invoker: ^1.1
- phpunit/phpunit: ^6.2
This package is not auto-updated.
Last update: 2021-10-04 19:28:50 UTC
README
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
文件