Sesión (Session)
Nota
Para todas las funciones Http, Ubiquity utiliza clases técnicas que contienen métodos estáticos. Se trata de una elección de diseño para evitar la inyección de dependencias que degradaría el rendimiento.
La clase USession proporciona funcionalidad adicional para manipular más fácilmente el array nativo $_SESSION php.
Inicio de sesión
La sesión Http se inicia automáticamente si se rellena la clave sessionName en el fichero de configuración app/config.php:
<?php
return array(
...
"sessionName"=>"key-for-app",
...
);
Si la clave sessionName no está rellenada, es necesario iniciar la sesión explícitamente para utilizarla:
use Ubiquity\utils\http\USession;
...
USession::start("key-for-app");
Nota
El parámetro nombre es opcional pero se recomienda para evitar variables conflictivas.
Crear o editar una variable de sesión
use Ubiquity\utils\http\USession;
USession::set("name","SMITH");
USession::set("activeUser",$user);
Recuperación de datos
El método get devuelve el valor null si la clave name no existe en las variables de sesión.
use Ubiquity\utils\http\USession;
$name=USession::get("name");
El método get puede ser llamado con el segundo parámetro opcional devolviendo un valor si la clave no existe en las variables de sesión.
$name=USession::get("page",1);
Nota
El método session es un alias del método get.
El método getAll devuelve todas las variables de sesión:
$sessionVars=USession::getAll();
Pruebas
El método exists comprueba la existencia de una variable en sesión.
if(USession::exists("name")){
//do something when name key exists in session
}
El método isStarted comprueba el inicio de sesión
if(USession::isStarted()){
//do something if the session is started
}
Borrar variables
El método delete elimina una variable de sesión:
USession::delete("name");
Cierre explícito de la sesión
El método terminar cierra la sesión correctamente y borra todas las variables de sesión creadas:
USession::terminate();