Klasa \core\SessionUtils ułatwia zapisywanie i wczytywanie zmiennych, struktur jak i obiektów do/z tablicy sesji ($_SESSION). W Amelii domyślny mechanizm sesji PHP jest zawsze włączony.

Metody klasy \core\SessionUtils

SessionUtils::store($name, $value)

zapisz parametr ($name) i jego wartość ($value) w sesji. Metoda bezpośrednio wstawia wartość do tabeli $_SESSION na pozycję wskazaną nazwą. 

SessionUtils::load($name, $keep = false)

operacja odwrotna do metody store(): metoda pobiera wskazany nazwą parametr. Domyślnie, gdy nie podamy wartości $keep, po pobraniu z sesji parametr o podanej nazwie zostanie z niej usunięty. Gdy chcemy go w sesji pozostawić, to należy podać $keep = true.

Metoda bezpiecznie sprawdza istnienie parametru w sesji funkcją isset() i zwraca null gdy parametr nie istnieje.

SessionUtils::storeMessages()

metoda zapisująca w sesji obiekt messages. Należy ją wywołać w momencie gdy chcemy przekazać wygenerowane komunikaty do następnej akcji po przekierowaniu przeglądarki (wykonaniu redirect). Aby mechanizm zadziałał, należy we front controlerze (ctrl.php) wywołać metodę SessionUtils::loadMessages(), opisaną poniżej.

SessionUtils::loadMessages($keep = false)

metoda wczytująca obiekt messages z sesji, jeśli został w niej zapisany. W innym wypadku metoda nie wykona żadnego działania. Domyślnie obiekt jest z sesji usuwany po odczycie, na co mamy wpływ za pomocą parametru $keep.

SessionUtils::storeObject($name, &$object)

metoda pozwalająca zapisać w sesji obiekt PHP lub strukturę (jak tabela) pod podaną nazwą. Działa podobnie jak store(), jednak przed zapisem wykonuje serializację obiektu/struktury - serialize($object) - co pozwala na jego/jej zapis w sesji.

SessionUtils::loadObject($name, $keep = false)

analogicznie do storeObject(), metoda zwraca wczytany z sesji obiekt lub strukturę (jak tabela). Po wczytaniu, automatycznie wywoływana jest metoda unserialize() i zwracany jest obiekt/struktura PHP.

Metoda bezpiecznie sprawdza istnienie parametru w sesji funkcją isset() i zwraca null gdy parametr nie istnieje.

SessionUtils::storeData($name, &$data)

metoda pozwala zapisać obiekt/strukturę w sesji używając kodowania do JSON (funkcja json_encode). Podobnie jak storeObject pozwala zapisać w sesji złożone struktury.

SessionUtils::loadData($name, $keep = false)

analogicznie do storeData(), metoda zwraca wczytany z sesji obiekt lub strukturę używając dekodowania JSON. Po wczytaniu, automatycznie wywoływana jest metoda json_decode() i zwracany jest wynik.

Metoda bezpiecznie sprawdza istnienie parametru w sesji funkcją isset() i zwraca null gdy parametr nie istnieje.

SessionUtils::remove($name)

Metoda usuwa z sesji parametr o podanej nazwie.