Как объекты PHP прикрепляются к пользователю в веб-приложении - PullRequest
0 голосов
/ 08 октября 2011

У меня вопрос: если пользователь приходит и использует объектно-ориентированное PHP-приложение, как эти объекты связаны с пользователем и что с ними происходит, когда пользователь уходит?

Я понимаю, как ОО

Ответы [ 3 ]

1 голос
/ 08 октября 2011

Объекты на самом деле никогда не привязаны к пользователю ... Похоже, вы говорите о переменных сеанса. Вы можете сохранить некоторую информацию для отдельного пользователя, добавив ее в переменную php $_SESSION, например, так: $_SESSION['user_id'] = 5. Как только пользователь уходит, эта информация будет по-прежнему доступна до истечения срока ее действия (Вы можете установить дату истечения срока действия или, как правило, она истекает, когда пользователь закрывает свой браузер). Для большинства веб-приложений, работающих с пользователями, пользователю будет предложено войти в систему, и когда они это сделают, информация об этом пользователе будет сохранена в сеансе. Это позволяет пользователю оставаться на нескольких страницах приложения. Затем, если пользователь решит выйти из системы, это когда вы сбрасываете или уничтожаете данные этого сеанса.

1 голос
/ 08 октября 2011

PHP представляет собой архитектуру без общего доступа , что означает, что для каждого HTTP-запроса, который делает браузер, приложение запускается с пустого листа (что касается внутренних компонентов PHP, таких как переменные и загруженные классы),Каждый объект PHP исчезает в конце запроса.Постоянные данные должны храниться в другом месте (обычно это база данных плюс, возможно, кеш на основе значений ключей, например memcached).То, как пользовательские данные обрабатываются в этих внешних хранилищах, полностью зависит от приложения.

0 голосов
/ 08 октября 2011

Когда получен HTTP-запрос, PHP запускается, устанавливает среду выполнения для вашего кода и запускает его. После этого все это будет снесено с нуля для повторного создания при следующем запросе.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...