Session

Třída Moony\bootstrap\core\services\Session je statická obálka nad PHP sessions s optimalizovaným lock managementem — session se otevírá v režimu read_and_close a zapisuje se lazy při shutdown.

Metody

Session::get(string $key, $default = null)Přečte hodnotu ze session
Session::set(string $key, $value)Zapíše hodnotu do session
Session::has(string $key)Vrátí true pokud klíč existuje
Session::remove(string $key)Odstraní klíč ze session
Session::flush()Vynutí okamžitý zápis změn (normálně se zapisuje při shutdown)

Příklady

use Moony\bootstrap\core\services\Session;

// Zápis
Session::set('cart', ['item1', 'item2']);

// Čtení
$cart = Session::get('cart', []); // výchozí hodnota []

// Kontrola
if(Session::has('cart')) {
    // ...
}

// Smazání
Session::remove('cart');
Session se automaticky inicializuje při prvním použití. Zápis probíhá lazy — data se zapíší do PHP session až při shutdown, čímž se minimalizuje doba držení session locku.
Session automaticky sanitizuje session ID cookie proti neplatným hodnotám (příliš dlouhé nebo nepovolené znaky).