Сессии
Для работы с сессией описан класс Session в файле includes/session.php. Объект класса создается при инициации сайта и доступен через переменную $this->diafan->_session
.
Свойства
Пример:
echo 'Название сессии: '.$this->diafan->_session->name;
// выведет:
// Название сессии: SESS629188aff6a3c660dc46dedf8724eb61
var id – идентификатор сессии.
Пример:
// используем сессию как идентификатор для поиска
// активированных купонов на скидку для текущего пользователя
$coupon_id = DB::query_result("SELECT coupon_id FROM {shop_discount_person}"
." WHERE session_id='%s'", $this->diafan->_session->id);
Методы
void init () – Стартует сессию.
Пример:
// запускаем сессию
$this->diafan->_session->init();
Фукнции open, close, read, write, dc, destroy являются пользовательскими функциями хранения сессии. Они подключаются через PHP-функцию session_set_save_handler.
boolean true open () – Открывает сессию.
boolean true close () – Закрывает сессию освобождает ресурсы.
string read (string $key) – Читает сессию.
- string $key: идентификатор сессии
return true write (string $key, string $value) – Записывает данные в сессию.
- string $key: идентификатор сессии
- string $value: серилизованные данные сессии
void gc () – Чистит мусор - удаляет сессии старше $lifetime.
void destroy ([string $key = '']) – Удаляет ссессию.
- string $key: идентификатор сессии
Пример:
// удаляем сессию, когда пользователь нажал «Выйти»
$this->diafan->_session->destroy();
void duration () – Определяет продолжительность сессии.
Пример:
// если при авторизации отмечена опция «Чужой компьютер»,
// то длительность сессии живет до закрытия окна браузера
// иначе длительность сессии устанавливается сроком на 2 недели
$this->diafan->_session->duration();
Стандартно куки для сессия храняться две недели.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.
Ваш комментарий будет первым.