Версия: 6.x
burger close
Класс MysqlHandler
Граф наследования:MysqlHandler:
HandlerInterface

Подробное описание

Хранилище сессий в базе данных - хранит сессии в таблице, описанной ORM-сущностью RS. Полезно, когда несколько серверов приложения не имеют общей файловой системы (балансировка нагрузки) и файловое хранилище сессий (NativeHandler) не подходит.

Таблица сессий создаётся/обновляется автоматически через RS::dbUpdate() - см. RS::switchTo().

Открытые члены

 open (string $path, string $name)
 
 close ()
 
 read (string $id)
 
 write (string $id, string $data)
 
 destroy (string $id)
 
 gc (int $max_lifetime)
 

Открытые статические члены

static getId ()
 
static getTitle ()
 

Методы

close ( )

Закрывает хранилище сессии. Для БД-хранилища отдельного действия не требуется.

Возвращает
bool
destroy ( string  $id)

Удаляет данные сессии из таблицы по её идентификатору. Удаление несуществующей записи - безопасная операция, не считается ошибкой.

Аргументы
string$idидентификатор сессии
Возвращает
bool
gc ( int  $max_lifetime)

Удаляет из таблицы все сессии, не обновлявшиеся дольше указанного времени жизни.

Аргументы
int$max_lifetimeмаксимальное время жизни неактивной сессии в секундах (session.gc_maxlifetime)
Возвращает
int количество удалённых записей
static getId ( )
static

Возвращает идентификатор хранилища сессии

Возвращает
string

Замещает HandlerInterface.

static getTitle ( )
static

Возвращает название хранилица сессии

Возвращает
string

Замещает HandlerInterface.

open ( string  $path,
string  $name 
)

Открывает хранилище сессии. Для БД-хранилища отдельного действия не требуется - соединение с БД уже устанавливается ядром системы.

Аргументы
string$pathпуть к хранилищу сессий (не используется)
string$nameимя сессии (не используется)
Возвращает
bool
read ( string  $id)

Читает данные сессии из таблицы по её идентификатору.

Аргументы
string$idидентификатор сессии
Возвращает
string сериализованные данные сессии, либо пустая строка, если сессия не найдена
write ( string  $id,
string  $data 
)

Записывает данные сессии в таблицу. Используется REPLACE INTO (метод replace()) - это одним запросом и создаёт новую запись, и обновляет существующую.

Аргументы
string$idидентификатор сессии
string$dataсериализованные данные сессии
Возвращает
bool