定制 flightphp/session 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

flightphp/session

最新稳定版本:v0.3.0

Composer 安装命令:

composer require flightphp/session

包简介

Tidy session library for Flight PHP

README 文档

README

Latest Stable Version License PHP Version Require Dependencies

A lightweight, file-based session handler for the Flight framework. It supports non-blocking behavior, optional encryption, and auto-commit functionality. See basic example.

Installation

Simply install with Composer

composer require flightphp/session

Basic Example

Let's see how easy it is to use FlightPHP Session:

// Create a session instance with default settings
$session = new flight\Session();

// Store some data
$session->set('user_id', 123);
$session->set('username', 'johndoe');
$session->set('is_admin', false);

// Retrieve data
echo $session->get('username'); // Outputs: johndoe

// Use a default value if the key doesn't exist
echo $session->get('preferences', 'default_theme'); // Outputs: default_theme

// Remove a session value
$session->delete('is_admin');

// Check if a value exists
if ($session->get('user_id')) {
    echo 'User is logged in!';
}

// Clear all session data
$session->clear();

Advanced Configuration

You can customize the session handler with various configuration options:

$session = new flight\Session([
    'save_path' => '/custom/path/to/sessions', // Custom directory for storing session files
    'encryption_key' => 'your-secret-32-byte-key', // Enable encryption with a secure key
    'auto_commit' => true, // Automatically commit session changes on shutdown
    'start_session' => true, // Start the session automatically
    'test_mode' => false, // Enable for testing without affecting PHP's session state
]);

Session Security

When dealing with sensitive user data, it's recommended to use encryption:

// Create a session with encryption enabled
$session = new flight\Session([
    'encryption_key' => 'a-secure-32-byte-key-for-aes-256-cbc',
]);

// Now all session data will be automatically encrypted when stored
$session->set('credit_card', '4111-1111-1111-1111');

Session Regeneration

For security purposes, you might want to regenerate the session ID periodically:

// Regenerate the session ID and keep the current session data
$session->regenerate();

// Regenerate the session ID and delete the old session data
$session->regenerate(true);

Documentation

Head over to the documentation page to learn more about usage and how cool this thing is! :)

License

MIT

统计信息

  • 总下载量: 1.11k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-07