Работа с сессиями в Joomla (JSession)
В этой статье мы рассмотрим некоторые методы класса JSession с помощью которого мы можем работать с сессиями в Joomla framework
Для того что бы начать работать с сессиями нужно получить объект класса JSession:
$session = JFactory::getSession();
Итак рассмотрим основные методы для работы с сессиями.
Для того что бы установить новое значение сессии:
$session = JFactory::getSession(); $session->set( 'mySessionVar', 100 );
Для того что бы получить значение из установленной сессии mySessionName нам нужно написать следующий код:
$session = JFactory::getSession(); $session->get('mySessionVar', 'значение по умолчанию');
Если мы хотим получить имя сессии то нужно использовать следуюший метод:
$session = JFactory::getSession(); echo $session->getName();
Это основные методы которые обычно нужны для работы с сессиями!
Ещё несколько методов которые могут нам пригодится в процессе разработки расширений для Joomla:
$session->checkToken() - проверка токена (замена JRequest::checkTocken() ) возвращает true если проверка прошла успешна
$session->clear('имя_переменной_сессии'); - удаляет переменную из хранилища сесий
$session->getId(); - получает идентификатор текущей сессии ( аналог функции session_id() )
$session->close(); - закрывает текущую сессию и сохраняет данные сессии. (аналог функции session_write_close())
$session->getExpire(); - возвращает время жизни сессии в минутах
$session->getState() - возвращает состояние текущей сессии. Если сессия активна вернет active