[Image] Пятница, 22.11.2024, 12:56 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2011 » Февраль » 2 » Пользовательское управление сеансами
10:30
Пользовательское управление сеансами

Разобравшись с основами использования сеансов, давайте внимательно изучим их внутреннее устройство. По умолчанию РНР предлагает три внутренних метода хранения данных сеанса, указываемые в session.save_handler: внутренний формат файла PHP-сеанса (определенный php), внутри базы данных SQLite (определенный sqlite) и формат пакета WDDX (определенный wddx).

НА ЗАМЕТКУ
Поддержка сеансов WDDX требует, чтобы поддержка WDDX была скомпилирована в РНР.
Точно так же, для использования сеансов SQLite, должно быть доступно расширение SQLite.

Если говорить об управлении сеансами, то, возможно, это не самая сильная сторона РНР. В РНР имеются средства, которые позволяют разработчику полностью настроить управление сеансами, создав собственные PHP-функции для сохранения и восстановления данных сеанса. Для пользовательского обработчика сеансов необходимо определить шесть отдельных функций:
1. Запуск (открытие) сеанса.
2. Чтение любых сохраненных данных сеанса.
3. Сохранение данных текущего сеанса.
4. Завершение (закрытие) сеанса.
5. Очищает хранилище от неиспользуемых или некорректных данных сеанса.
6. Уничтожение сеанса.
Каждая из шести функций принимает специфические параметры и возвращает определенные значения, описанные ниже.
1. Функция открытия — принимает два параметра $save_path (путь для записи
любого связанного с сеансом файла) и $session_name (имя текущего сеанса).
Оба параметра берутся из конфигурационных директив session. save_path и session.name, соответственно. Эта функция возвращает булевское значение, показывающее, успешно ли инициализирован сеанс.
2. Функция чтения — принимает один параметр $id (идентификатор текущего сеанса) и должна возвращать данные сеанса или пустую строку, если данные отсутствуют.
3. Функция записи — принимает два параметра, $id (идентификатор текущего сеанса) и $sess_data (сериализованные данные сеанса). Эта функция возвращает булевское значение, показывающее, успешно ли выполнено сохранение данных.
4. Функция закрытия — эта функция не принимает параметров и возвращает булевское значение, отражающее успешность выполнения операции.
5. Функция очистки — принимает единственный параметр (максимальное время жизни сеанса, в соответствии с директивой session.gc_maxlifetime) и возвращает булевское значение, отражающее успешность выполнения функции.
6. Функция уничтожения — принимает один параметр (идентификатор текущего сеанса) и возвращает булевское значение, отражающее успешность уничтожения сеанса.
Для использования пользовательского обработчика каждая из перечисленных выше функций должна быть создана и зарегистрирована с помощью функции session_set_save_handler (). Функция регистрации имеет следующий синтаксис: session_set_save_handler($open, $close, $read, $write, $destroy, $gc)
Каждый из шести параметров представляет строковое имя соответствующей пользовательской функции. Эта функция возвращает булевское значение, отражающее успешность установки пользовательского обработчика.

НА ЗАМЕТКУ
Для того чтобы пользовательский обработчик был успешно установлен, конфигурационная директива session.serialize_handler должна быть установлена в значение user.

С помощью пользовательских обработчиков вряд ли можно многое сделать, если не использовать дополнительные знания (например, возможность доступа к базам данных из РНР). Сейчас не время приводить полный рабочий пример пользовательского обработчика.


Категория: Все о PHP | Просмотров: 2043 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [591]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [46]
Полезное [391]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 6
Гостей: 6
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru