Сессии
Medusa\Http\Session используется для хранения и чтения данных сессии.
Инициализация класса
Во время HTTP-запроса старт сессии происходит автоматически на старте загрузки приложения вызовом метода
Medusa\Http\Session::start(), а в CLI после подключения www/medusa/index.php сессия
автоматически не запускается, так как HTTP-слой инициализируется только для веб-запросов. В таких случаях сессию нужно
запускать вручную до создания объекта.
use Medusa\Http\Session;
Session::start();
$session = new Session();
Установка значения
Метод $session->set($key, $value) сохраняет значение по ключу.
$sessionSet = $session->set('user_id', 1);
if ($sessionSet) {
echo 'Сессия "user_id" установлена';
} else {
echo 'Не удалось установить сессию "user_id"';
}
Проверка существования ключа
Метод $session->has($key) проверяет наличие ключа в сессии.
$sessionExists = $session->has('user_id');
if ($sessionExists) {
echo 'Сессия "user_id" существует';
} else {
echo 'Сессия "user_id" не существует';
}
Получение значения
Метод $session->get($key, $default = null) возвращает значение по ключу или значение по умолчанию,
если ключ отсутствует.
$userId = $session->get('user_id', 0);
echo sprintf('Сессия "user_id" содержит значение %d', $userId);
Удаление значения
Метод $session->remove($key) удаляет ключ вместе со значением.
$sessionRemoved = $session->remove('user_id');
if ($sessionRemoved) {
echo 'Сессия "user_id" удалена';
} else {
echo 'Не удалось удалить сессию "user_id"';
}