FuelPHP - Cookie e gestione delle sessioni

Cookiefornisce l'archiviazione dei dati lato client e supporta solo una piccola quantità di dati. Di solito, è di 2 KB per dominio e dipende dal browser.Sessionfornisce l'archiviazione dei dati lato server e supporta una grande quantità di dati. Vediamo come creare cookie e sessioni nell'applicazione web FuelPHP.

Biscotti

FuelPHP fornisce un file Cookieclass per creare un elemento cookie. La classe dei cookie viene utilizzata per creare, assegnare ed eliminare i cookie.

Configura cookie

La classe Cookie può essere configurata globalmente tramite il file di configurazione dell'applicazione principale, situato in fuel / app / config / config.php. È definito come segue.

'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, 
),

Metodi

La classe Cookie fornisce metodi per creare, accedere ed eliminare un elemento cookie. Sono i seguenti:

impostato()

Il metodo set viene utilizzato per creare una variabile Cookie. Contiene i seguenti argomenti,

  • $name - La chiave nell'array $ _COOKIE.

  • $value - Il valore del cookie.

  • $expiration - Numero di secondi per cui il cookie dovrebbe durare.

  • $path - Il percorso sul server in cui il cookie sarà disponibile.

  • $domain - Il dominio a cui il cookie è disponibile.

  • $secure - Impostare su true se si desidera trasmettere i cookie solo su connessioni protette.

  • $httponly - Consenti solo la trasmissione di cookie su HTTP, disabilitando l'accesso a JavaScript.

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

ottenere()

Il metodo get viene utilizzato per leggere una variabile Cookie. Contiene i seguenti argomenti,

  • $name - La chiave nell'array $ _COOKIE.

  • $value - Il valore da restituire se la chiave non è disponibile nell'array $ _COOKIE.

Cookie::get('theme');

Elimina()

Il metodo delete viene utilizzato per eliminare una variabile Cookie. Contiene i seguenti argomenti,

  • $name - La chiave nell'array $ _COOKIE.

  • $value - Il valore del cookie.

  • $domain - Il dominio a cui il cookie è disponibile.

  • $secure - Impostare su true se si desidera trasmettere i cookie solo su connessioni protette.

  • $httponly - Consenti solo la trasmissione di cookie su HTTP, disabilitando l'accesso a JavaScript.

Cookie::delete('theme');

Sessione

FuelPHP offre classe, Session per mantenere lo stato dell'applicazione.

Configura sessione

La classe di sessione può essere configurata tramite l'apposito file di configurazione, fuel/core/config/session.php. Alcune delle voci di configurazione importanti sono le seguenti:

  • auto_initialize - Inizializza automaticamente la sessione.

  • driver- Nome del driver di sessione. La sessione viene implementata utilizzando il driver e le opzioni possibili sono cookie, db, memcached, redis e file. Il driver predefinito è cookie.

  • match_ip - Controlla l'IP del client.

  • match_ua - Controlla l'agente utente del client.

  • expiration_time - Valore di timeout della sessione in secondi.

  • rotation_time - È ora di rinnovare la sessione.

Metodi di sessione

La classe Session fornisce metodi per manipolare i dati della sessione. Sono i seguenti,

esempio()

Il instance restituisce un'istanza predefinita o specifica, identificata dal nome.

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

impostato()

Il set viene utilizzato per assegnare una variabile di sessione.

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

ottenere()

Il get metodo consente di recuperare le variabili memorizzate dalla sessione.

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

Elimina()

Il delete consente di eliminare una variabile di sessione memorizzata.

Session::delete('userid');

creare()

Il createmetodo consente di creare una nuova sessione. Se una sessione è già presente, verrà distrutta e verrà creata una nuova sessione.

Session::create();

distruggere()

Il destroy viene utilizzato per distruggere una sessione esistente.

Session::destroy();

leggere()

Il read metodo ti permette di leggere una sessione.

Session::read();

Scrivi()

Il write metodo ti permette di scrivere la sessione.

Session::write();

chiave()

Il keymetodo consente di recuperare gli elementi della chiave di sessione. Il valore della chiave è unico.

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