<?php
class SesionCliente {
static function abrir() {
$status = session_status();
switch ($status) {
case PHP_SESSION_NONE:
error_reporting(0);
// ini_set('display_errors', TRUE);
// ini_set('display_startup_errors', TRUE);
session_start();
error_reporting(E_ALL);
// ini_set('display_errors', TRUE);
// ini_set('display_startup_errors', TRUE);
break;
case PHP_SESSION_ACTIVE:
return true;
break;
}
}
static function cerrar() {
session_write_close();
}
static function activa(){
return self::valor(SESION);
}
static function dato($variable){
$valor = false;
$SesionActiva = self::valor(SESION);
if (property_exists( $SesionActiva, $variable)) {
$valor = $SesionActiva->$variable;
}
return $valor;
}
static public function valor($nombre, $valor = null) {
if (!is_null($valor)) {
self::abrir();
$_SESSION [$nombre] = $valor;
self::cerrar();
} else {
if (isset($_SESSION [$nombre])) {
self::abrir();
$valor = $_SESSION [$nombre];
self::cerrar();
return $valor;
} else {
return false;
}
}
}
static public function eliminar($nombre) {
self::abrir();
unset($_SESSION [$nombre]);
self::abrir();
}
static public function destruir() {
self::abrir();
$_SESSION = array();
session_destroy();
self::cerrar();
}
}