OMG PHP: <? public function sess_write($session_id, $session_data) { return true; } PHP: <? public function __set($name, $val){ $sql = "SELECT `var_value` FROM " . $this->session_vars . " WHERE session_id='" . $this->native_sess_id . "' AND var_name='" . $name . "'"; $res = parent::select($sql); а вы говорите - Попов мудак, делает запросы в цикле
нет. Ты делаешь до 2 запроса ради установки переменной, и 1 для получения переменной. Если надо просто добавить в сессию 10 переменных, надо сделать 20 (!) запросов. Даже WordPress для генерации главной страницы меньше делает. Но все еще хуже, чем кажется. После инициализации сессии, массив $_SESSION остается пустым. Т.е. я не могу работать с переменными нормальным образом и даже не знаю, какие переменные в сессии лежат. В то время, как достаточно записывать в БД $session_data, которую PHP передает в метод sess_write, и возвращать PHP эту строку обратно в методе sess_read. Какой цели следует назначение этого класса в session_save_handler? Инициализации сессии с помощью session_start(); вместо Session::sess_read($_COOKIE['PHPSESSID']); и удаление с помощью session_destroy(); вместо Session::sess_destroy(); и всё?