【发布时间】:2010-03-31 03:38:44
【问题描述】:
$_SESSION['user']->getURL()
是调用对象$_SESSION['user']的getURL()方法吗?
【问题讨论】:
-
更具体。一般来说 - 这是可能的。调用它有什么问题吗?
$_SESSION['user']->getURL()
是调用对象$_SESSION['user']的getURL()方法吗?
【问题讨论】:
是不是调用getURL()的方法 对象 $_SESSION['user']?
是的,你就是这样做的。
【讨论】:
你不能真正在会话中存储对象
我的立场是正确的:
您可以在会话中存储对象...只要在调用 session_start() 时加载(或可以自动)类。
或者您需要对它们进行序列化和反序列化才能在会话中使用它们。
如果该类需要数据库连接,您可能还需要一个 __wakeup 函数。
http://php.net/manual/en/function.serialize.php
http://php.net/manual/en/function.unserialize.php
[编辑]
您可能不应该将用户对象存储在会话中,可能只是一个标识符,以便您可以在页面加载时重新实例化用户对象(这样密码就不会存储在 $_SESSION 中,如果它在用户对象)
【讨论】:
它检索存储在$_SESSION['user'] 中的对象并调用它的getURL 方法,不带任何参数。
【讨论】: