Сессии
Для работы с сессией описан класс 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();
Стандартно куки для сессия храняться две недели.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.

Ваш комментарий будет первым.