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).
