【发布时间】:2011-06-03 03:57:29
【问题描述】:
我正在为我的网站实施用户身份验证系统。我正在使用一个开源库,它通过创建一个用户对象并将该对象存储在我的 php SESSION 变量中来维护用户信息。这是存储和访问该信息的最佳方式吗?
我发现访问用户变量有点麻烦,因为我必须先创建一个对象才能访问它们:
$userObj = $_SESSION['userObject'];
$userObj->userId;
我通常不会像这样访问用户 ID:
$_SESSION['userId'];
将一堆用户数据存储为一个对象而不是将它们存储为单独的 SESSION 变量是否有优势?
ps - 该库似乎还在用户对象中存储了一些变量(id、用户名、加入日期、电子邮件、最后一个用户数据库查询),但我真的不关心将所有这些信息存储在我的会话中.我只想保留用户 ID 和用户名。
【问题讨论】:
-
如果你想停止使用你的库,也许你会在这个单独的操作上节省一行代码,但从长远来看你可能会失去更多
-
好吧,我不会停止使用该库,我可能只是修改我想要更改的部分。我还应该澄清一下,我一般只是对在 Session 变量中存储对象感到好奇。我读到我应该保持会话变量轻,所以我想听听其他人会说什么。
-
不应该是
$userObj =& $_SESSION['userObject']; -
应该吗?我从来没有真正使用过很多引用,但我认为这是有道理的。太棒了!我正在学习:D
-
这需要作为参考吗?既然是对象,默认不就是引用吗?
标签: php session authentication object