folded/session

Session manipulation utlilities for your web app.

v0.2.2 2020-10-03 11:15 UTC

This package is auto-updated.

Last update: 2024-10-17 16:37:27 UTC


README

Session manipulation utilities for your web app.

Packagist License Packagist PHP Version Support Packagist Version Build Status Maintainability TODOs

Summary

About

I created this library to be able to manipulate a session, e.g. setting and getting data, checking if a data is present, ... In a standalone way.

Folded is a constellation of packages to help you setting up a web app easily, using ready to plug in packages.

Features

  • Set and get value by keys
  • Can flash value (which means they can be getted only once)
  • Can remove values by key
  • Can check if a value exist by its key
  • Uses the plain $_SESSION superglobal

Requirements

  • PHP version >= 7.4.0
  • Composer installed

Installation

1. Install the package

In your root folder, run this command:

composer require folded/session

2. Add the setup code

In the script you want to use, call for the session start function:

if (session_status() !== PHP_SESSION_ACTIVE) {
  session_start();
}

// ...

Examples

1. Set a value

In this example, we will set the value in the session.

use function Folded\setSession;

setSession("token", "12345");

2. Get a value by key

In this example, we will get the value of a session key.

use function Folded\setSession;
use function Folded\getSession;

setSession("token", "12345");

echo getSession("token"); // "12345"

3. Check if a value exist by key

In this example, we will check if a value exist by its key.

use function Folded\hasSession;

if (hasSession("token")) {
  echo "has token in session";
} else {
  echo "has not token in session yet";
}

4. Flash a value

Flashing a value consist of telling the session to keep a value for a single usage. In this example, we will set a flash value, then get it once. Any attempt to get it a second time will fail.

use function Folded\flashSession;
use function Folded\getSession;
use function Folded\hasSession;

flashSession("token", "12345");

echo getSession("token"); // "12345"

var_dump(hasSession("token")); // bool(false)

5. Keep a value one more time after being flashed

In this example, we will use the second parameter of getSession() to keep a flashed data one last time after being getted.

use function Folded\getSession;
use function Folded\flashSession;
use function Folded\hasSession;

flashSession("token", "12345");

getSession("token", $keep = true);

var_dump(hasSession("token")); // bool(true)

6. Remove a value by key

In this example, we will set a value, then remove it, and check if it exist.

use function Folded\hasSession;
use function Folded\removeSession;
use function Folded\setSession;

setSession("token", "12345");

var_dump(hasSession("token")); // booll(true)

removeSession("token");

var_dump(hasSession("token")); // bool(false)

Version support