Давайте напишем пример, который бы иллюстрировал механизм переопределения обработчиков. Мы будем держать временные хранилища сессий в подкаталоге sessiondata
текущего каталога, и для каждого имени группы сессий создавать отдельный каталог.
Код листинга 25.2 довольно велик, но не сложен. Тут уж ничего не поделаешь— нам в любом случае приходится задавать все 6 обработчиков, а это выливается в "объемистые"
описания.
Листинг 25.2. Переопределение обработчиков сессии
<?
// Âîçâðàùàåò ïîëíîå èìÿ ôàéëà âðåìåííîãî õðàíèëèùà ñåññèè.
//  ñëó÷àå, åñëè íóæíî èçìåíèòü òот каталог, â êîòîðîм äîëæíû
// õðàíèòüñÿ ñåññèè, äîñòàòî÷íî ïîìåíÿòü òîëüêî ýòó ôóíêöèþ
function ses_fname($key)
{
return "sessiondata/".session_name()."/$key";
}
// Çàãëóøêè — ýòè ôóíêöèè ïðîñòî íè÷åãî íå äåëàþò
function ses_open($save_path, $ses_name) { return true; }
function ses_close() { return true; }