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

David van der Tuijn
"Mijn naam is David van der Tuijn, als senior php developer bij Floro Webdevelopment B.V. werk ik samen met een projectleider, back-end developers, front-end developers en designers, op basis van een functioneel- (FO) en technisch ontwerp (TO), bouw ik webapplicaties die voldoen aan de nieuwste ontwikkelingen op internet gebied. Ik werk zelfstandig, weet hoe een architectuur opgezet moet worden en kan deze uitdragen in een multidisciplinair team. binnen een project adviseer ik over de juiste methoden en technieken. Ik ontwikkel en bewaak de kwaliteit van de development werkzaamheden in projecten en kan projecten binnen een afgegeven planning afronden."