FuelPHP - Gestión de sesiones y cookies

Cookieproporciona almacenamiento de datos del lado del cliente y solo admite una pequeña cantidad de datos. Por lo general, es de 2 KB por dominio y depende del navegador.Sessionproporciona almacenamiento de datos del lado del servidor y admite una gran cantidad de datos. Veamos cómo crear cookies y sesiones en la aplicación web FuelPHP.

Galletas

FuelPHP proporciona un Cookieclass para crear un elemento de cookie. La clase de cookies se utiliza para crear, asignar y eliminar cookies.

Configurar Cookie

La clase Cookie se puede configurar globalmente a través del archivo de configuración de la aplicación principal, ubicado en fuel / app / config / config.php. Se define como sigue.

'cookie' => array (  
   
   //Number of seconds before the cookie expires 
   'expiration'  => 0,  
   
   //Restrict the path that the cookie is available to 
   'path'        => '/',  
   
   //Restrict the domain that the cookie is available to 
   'domain'      => null,  
   
   // Only transmit cookies over secure connections 
   'secure'      => false,  
   
   // Only transmit cookies over HTTP, disabling Javascript access 
   'http_only'   => false, 
),

Métodos

La clase de cookie proporciona métodos para crear, acceder y eliminar un elemento de cookie. Son los siguientes:

conjunto()

El método set se utiliza para crear una variable Cookie. Contiene los siguientes argumentos,

  • $name - La clave en la matriz $ _COOKIE.

  • $value - El valor de la cookie.

  • $expiration - Número de segundos que debe durar la cookie.

  • $path - La ruta del servidor en la que estará disponible la cookie.

  • $domain - El dominio para el que está disponible la cookie.

  • $secure - Configúrelo en verdadero si solo desea transmitir cookies a través de conexiones seguras.

  • $httponly - Permitir solo la transmisión de cookies a través de HTTP, deshabilitando el acceso a JavaScript.

Cookie::set('theme', 'green');

obtener()

El método get se usa para leer una variable Cookie. Contiene los siguientes argumentos,

  • $name - La clave en la matriz $ _COOKIE.

  • $value - El valor que se devolverá si la clave no está disponible en la matriz $ _COOKIE.

Cookie::get('theme');

Eliminar()

El método de eliminación se utiliza para eliminar una variable de cookie. Contiene los siguientes argumentos,

  • $name - La clave en la matriz $ _COOKIE.

  • $value - El valor de la cookie.

  • $domain - El dominio para el que está disponible la cookie.

  • $secure - Configúrelo en verdadero si solo desea transmitir cookies a través de conexiones seguras.

  • $httponly - Permitir solo transmitir cookies a través de HTTP, deshabilitando el acceso a JavaScript.

Cookie::delete('theme');

Sesión

FuelPHP proporciona clase, Session para mantener el estado de la aplicación.

Configurar sesión

La clase de sesión se puede configurar a través del archivo de configuración especial, fuel/core/config/session.php. Algunas de las entradas de configuración importantes son las siguientes:

  • auto_initialize - Inicializar la sesión automáticamente.

  • driver- Nombre del controlador de sesión. La sesión se implementa mediante el controlador y las opciones posibles son cookie, db, memcached, redis y file. El controlador predeterminado es cookie.

  • match_ip - Verifique la IP del cliente.

  • match_ua - Verifique el agente de usuario del cliente.

  • expiration_time - Valor del tiempo de espera de la sesión en segundos.

  • rotation_time - Hora de renovar la sesión.

Métodos de sesión

La clase de sesión proporciona métodos para manipular los datos de la sesión. Son los siguientes,

ejemplo()

los instance El método devuelve una instancia predeterminada o específica, que se identifica por su nombre.

$session = Session::instance();            // default instance 
$session = Session::instance('myseesion'); // specific instance

conjunto()

los set El método se utiliza para asignar una variable de sesión.

Session::set('userid', $userid);

obtener()

los get El método le permite recuperar las variables almacenadas de la sesión.

$userid = Session::get('userid');

Eliminar()

los delete El método le permite eliminar una variable de sesión almacenada.

Session::delete('userid');

crear()

los createEl método le permite crear una nueva sesión. Si una sesión ya está presente, se destruirá y se creará una nueva.

Session::create();

destruir()

los destroy El método se utiliza para destruir una sesión existente.

Session::destroy();

leer()

los read El método le permite leer una sesión.

Session::read();

escribir()

los write El método le permite escribir la sesión.

Session::write();

llave()

los keyEl método le permite recuperar elementos de la clave de sesión. El valor de la clave es único.

$session_id = Session::key('session_id');