Sessie variabelen

Het session object heeft een static functie initialize, deze controleert of de sessie reeds bestaat en pakt de data uit met unserialize :

Session::initialize();

Opvragen van de session instance :

$session = Session::instance();

De session klasse :

class Session
{
  private static $instance;

  public static function initialize()
  {
    if ($_SESSION['session'])
    {
      $session = unserialize($_SESSION['session']);
    }
    if ($session instanceof Session)
    {
      self::$instance = $session;
    }
    elseif (!$session instanceof Session)
    {
      self::$instance = new Session;
    }
    register_shutdown_function(array('Session', 'shutdown'));
  }

  public static function instance()
  {
    return self::$instance;
  }

  public static function destroy()
  {
    unset($_SESSION['session']);
    self::$instance = null;
  }

  public static function shutdown()
  {
    $_SESSION['session'] = serialize(self::$instance);
  }
}

De instantie van de sessie wordt gecomprimeerd opgeslagen met serialize.

Optioneel : Genereren van een security -token en deze vergelijken tijdens het uitpakken, zo kan de sessie data niet tussentijds worden aangepast.

Opmerking : Vergeet niet op de 1e regel van de PHP source toe te voegen :

session_start();

Meer informatie : PHP: Sessions - Manual