Dokumentace
- Aplikace
- Databáze
- Šablony
- Formuláře
- Knihovny
- Návody
Session
Session je statická třída určená pro práci se session. Má několik základních metod:
- read($key, $default = null)
- safeRead($key, $default = null)
- write($key, $value)
- exists($key)
- delete($key)
Třída automaticky nastartuje session. Není tedy nikde nutné volat něco
dopředu. Potřebuji číst, použiji metodu read, atp. Je tu ale jedan metoda,
která nemusí mít zřejmou funkci. Jedná se o safeRead(). Tato
metoda funguje stejně jako read(), akorát s tím rozdílem, že
pokud session není nastartovaná, tak ji ani nenastartuje a vrátí null.
# zapiseme
session::write('my-key', array('my', 'values'));
# precteme
$var = session::read('my-key');
$var = session::read('not-compulsary-value', 'default value');
# overime a smazeme
if (session::exists('my-key'))
session::delete('my-key');
Jmenné prostory
Od verze 0.9 disponuje framework rozšířenou třídou, která zavádí do session jmenné prostory a umožňuje správu jejich expirace, včetně expirace jednotlivých proměnných.
Instanci objektu získáte pomocí metody getNamespace.
$session = Session::getNamespace('frontend');
$session->var = 'value';
$session->set('var', 'value'); # alternativně
$session->set('var', 'value', 60); # alternativně s expirací 60 sekund);
echo $session->var;
echo $session->get('var'); # alternativně
echo $session->get('var', 'default'); # alternativně s defaultní hodnotou
unset($session->var);
$session->delete('var'); # alternativně
if (isset($session->var))
if ($session->exists('var')) # alternativně
Čas expirace pro samotný jmenný prostor nastavíte pomocí metody
setExpiration.
$session->setExpiration(60); # 60 sekund
$session->setExpiration('+2 days');
# vypnutí expirace
$session->setExpiration(null);
