|
ВведениеПоддержка сессий в PHP заключается в способе сохранения некоторых данных между несколькими последовательными доступами. Это позволяет наилучшим образом разработать индивдуальные приложения и увеличить привлекательность веб-сайта. Каждому посетителю сайта присваивается уникальный идентификатор, называемый идентификатором сессии (session id). Он хранится либо в cookie на стороне пользователя, либо передается через URL. Поддержка сессий позволяет сохранять данные между запросами в суперглобальном массиве $_SESSION. В тот момент, когда посетитель получает доступ к сайту, PHP проверяет (автоматически, если session.auto_start установлено в 1, или по запросу явным образом через вызов session_start() или неявным через session_register()), если определенный идентификатор сессии послан вместе с запросом. Если это так, восстанавливается сохраненное ранее окружение. Предостережение
При включенном session.auto_start, единственным способом помещения объектов в сессию останется загрузка описаний класса с помощью auto_prepend_file. В противном случае придется выполнить сериализацию (serialize()) и десериализацию (unserialize()) объекта вручную. $_SESSION (и все зарегистрированныее переменные) сериализуются после выполнения запроса. Зарегистрированные, но неопределенные переменные помечаются как неопределенные. При последующих доступах они не определяются сессионным модулем пока пользователь заново не определит их. Внимание
Так как сессионные данные сериализуются, то переменные с типом resource не могут храниться в сессиях.
|
|