为了账号安全,请及时绑定邮箱和手机立即绑定

PHP:在$ _SESSION中存储'对象'

PHP:在$ _SESSION中存储'对象'

PHP
qq_笑_17 2019-08-30 17:26:21
我只是想通知我实际上可以在$ _SESSION中存储对象,我发现它非常酷,因为当我跳到另一个页面时,我仍然有我的对象。在我开始使用这种方法之前,我想知道它是否真的是一个好主意,或者是否存在潜在的陷阱。我知道,如果我有一个单一的入口点,我就不需要这样做,但我还没有,所以我没有一个入口点,我真的想保留我的对象,因为我不我失去了我的状态。(现在我还读到我应该编写无状态站点,但我还不了解这个概念。)因此,在短期:是否确定存储对象的会话,是否有任何问题,它?编辑:临时总结:到目前为止,我知道重新创建对象可能更好,即使它涉及再次查询数据库。进一步的答案可能会更详细地说明这方面!
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

我知道这个话题已经过时了,但是这个问题不断出现,并没有让我满意:


无论是在$ _SESSION中保存对象,还是根据隐藏在表单字段中的数据重建整个布料,或者每次都从数据库重新查询它们,都使用状态。HTTP是无状态的(或多或少;但请参阅GET与PUT)但几乎所有人都关心Web应用程序需要在某处维护状态。表现得好像把国家推入角落和缝隙相当于某种理论上的胜利是错误的。国家是国家。如果你使用状态,你将失去无国籍所带来的各种技术优势。除非事先知道你应该失去睡眠,否则这不是失眠的原因。


汉克盖伊提出的“双重打击”论点所获得的祝福使我特别沮丧。OP是否构建了分布式负载均衡的电子商务系统?我的猜测是否定的; 并且我将进一步假定序列化他的$ User类,或者其他什么,不会削弱他的服务器无法修复。我的建议:使用对您的应用程序敏感的技术。$ _SESSION中的对象很好,受常识预防措施的限制。如果您的应用突然变成与服务流量相媲美的亚马逊,您将需要重新适应。这就是生活。


查看完整回答
反对 回复 2019-08-30
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

只要在调用session_start()时,就已经遇到类声明/定义,或者已经安装的自动加载器可以找到它。否则它将无法从会话存储中反序列化对象。


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 672 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信