caridea/session

A shrimp of a session library

3.0.0 2018-01-06 17:55 UTC

This package is not auto-updated.

Last update: 2024-04-08 05:29:28 UTC


README

Caridea is a miniscule PHP application library. This shrimpy fellow is what you'd use when you just want some helping hands and not a full-blown framework.

This is the session component. It's used for controlling sessions (e.g. starting, resuming, destroying) as well as storing namespaced values within a session.

It supports plugins that get notified of session events. Included in this package are a CSRF prevention plugin and a "flash message" plugin.

Packagist Build Status Scrutinizer Code Quality Code Coverage

Installation

You can install this library using Composer:

$ composer require caridea/session
  • The master branch (version 3.x) of this project requires PHP 7.1 and has no dependencies
  • Version 2.x of this project requires PHP 7.0 and has no dependencies
  • Version 1.x of this project requires PHP 5.5 and depends on caridea/random.

Compliance

Releases of this library will conform to Semantic Versioning.

Our code is intended to comply with PSR-1, PSR-2, and PSR-4. If you find any issues related to standards compliance, please send a pull request!

Documentation

Examples

Just a few quick examples.

Creating a Session.

// When the session starts, a CSRF token will be created and stored
$csrf = new \Caridea\Session\CsrfPlugin();
// Display-once messages can be added using the flash plugin
$flash = new \Caridea\Session\FlashPlugin();
$session = new \Caridea\Session\NativeSession($_COOKIE, [$csrf, $flash]);

$session->resume() || $session->start();

$flash->set('foo', 'bar');

$token = $csrf->getValue();

$values = $session->getValues('my-namespace');
$values['foobar'] = 'abc123';