rcastera/session

v1.0.1 2014-12-24 15:16 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:00:08 UTC


README

这是一个用于管理会话的Session类。在过去,市场上开源框架并不多的时候,开发者必须从头开始编写代码来实现某些功能。这个类的诞生就是从这样的情况开始的。使用这个类,您可以轻松地设置指定间隔后超时认证用户。

设置

composer.json文件添加到您的项目中

{
  "require": {
      "rcastera/session": "v1.0.0"
  }
}

假设您已经安装了composer,您可以运行以下命令

$ composer.phar install

这将从您的vendor文件夹中获取库及其依赖项。然后,您可以将以下内容添加到您的.php文件中,以便使用库(如果您还没有的话)。

require 'vendor/autoload.php';

然后您需要使用相关类,并实例化该类。例如

入门指南

require 'vendor/autoload.php';

use rcastera\Browser\Session\Session;

$session = new Session();

示例

登录。(login.php)
<?php
    require 'vendor/autoload.php';
    use rcastera\Browser\Session\Session;

    $errors = array();

    // You'll definitely want to add more validation here and check against a
    // database or something. This is just an example.
    if (! empty($_POST)) {
        if ($_POST['username'] == 'test' && $_POST['password'] == 'test') {
            $session = new Session();

            // You can define what you like to be stored.
            $user = array(
                'user_id' => 1,
                'username' => $_POST['username']
            );

            $session->register(120); // Register for 2 hours.
            $session->set('current_user', $user);
            header('location: index.php');
            exit;
        } else {
            $errors[] = 'Invalid login.';
        }
    }
?>

// Your form here.
认证后进入安全区域。(index.php/controller/ whatever)
<?php
    require 'vendor/autoload.php';
    use rcastera\Browser\Session\Session;

    $session = new Session();

    // Check if the session registered.
    if ($session->isRegistered()) {
        // Check to see if the session has expired.
        // If it has, end the session and redirect to login.
        if ($session->isExpired()) {
            $session->end();
            header('location: login.php');
            exit;
        } else {
            // Keep renewing the session as long as they keep taking action.
            $session->renew();
        }
    } else {
        header('location: login.php');
        exit;
    }
?>
登出。(logout.php)
<?php
    require 'vendor/autoload.php';
    use rcastera\Browser\Session\Session;

    $session = new Session();
    $session->end();
    header('location: login.php');
    exit;
?>

贡献

  1. 进行分支。
  2. 创建一个分支(git checkout -b my_branch
  3. 提交您的更改(git commit -am "Added something"
  4. 将分支推送到远程(git push origin my_branch
  5. 创建一个包含您分支链接的问题
  6. 享受一杯清爽的可乐并等待