PHP对象如何附加到Web应用程序中的用户

时间:2011-10-08 16:10:35

标签: php session object

我的问题是,如果用户出现并使用面向对象的PHP应用程序,这些对象如何与用户绑定以及用户离开后会发生什么?

我理解OO

3 个答案:

答案 0 :(得分:1)

对象实际上并没有绑定到用户......这听起来像是在谈论会话变量。您可以通过将其添加到php $_SESSION变量中来为单个用户存储一些信息,例如:$_SESSION['user_id'] = 5。用户离开后,该信息在到期之前仍可访问(您可以设置过期日期,或者通常在用户关闭浏览器时过期)。对于处理用户的大多数Web应用程序,将要求用户登录,当用户登录时,有关该用户的信息将存储在会话中。这允许用户在页面应用程序的多个页面中保持登录。然后,如果用户决定注销,则在您取消设置或销毁该会话数据时。

答案 1 :(得分:1)

PHP是shared-nothing architecture,这意味着对于浏览器发出的每个HTTP请求,应用程序都以空表开始(就变量和加载类等PHP内部而言)。每个PHP对象在请求结束时都会消失。永久数据需要存储在其他地方(通常是数据库加上可能是基于键值的缓存,例如memcached)。如何在外部存储中处理与用户相关的数据完全取决于应用程序。

答案 2 :(得分:0)

当收到HTTP请求时,PHP会被激活,为您的代码设置运行时环境并运行它。之后所有这些都被拆除,以便在下一次请求时从头开始重新创建。

因此,除非您采取明确的步骤将对象(或任何其他类型的变量,实际上)持久保存到例如磁盘然后在后续请求中读回它们,根本不会创建过去创建的对象的痕迹。

相关问题