gpt4 book ai didi

PHP:在 $_SESSION 中存储 'objects'

转载 作者:IT老高 更新时间:2023-10-28 11:41:16 25 4
gpt4 key购买 nike

我刚刚发现我实际上可以在 $_SESSION 中存储对象,我觉得这很酷,因为当我跳转到另一个页面时,我仍然有我的对象。现在,在我开始使用这种方法之前,我想知道它是否真的是一个好主意,或者是否存在潜在的陷阱

我知道,如果我有一个单一的入口点,我就不需要这样做,但我还没有到那里,所以我没有单一的入口点,我真的很想保留我的对象,因为我不会像那样失去我的状态。 (现在我还读到我应该对无状态网站进行编程,但我还不明白这个概念。)

所以简而言之:在 session 中存储对象可以吗,有什么问题吗?


编辑:

临时总结:现在我明白,即使涉及再次查询数据库,重新创建对象可能更好

进一步的答案可能详细说明这方面!

最佳答案

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

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

我对汉克·盖伊提出的“双重打击”论点所获得的祝福感到特别困惑。 OP 是否在构建分布式负载均衡的电子商务系统?我的猜测是否定的;我将进一步假设序列化他的 $User 类或其他任何东西不会使他的服务器无法修复。我的建议:使用对您的应用程序敏感的技术。 $_SESSION 中的对象很好,但须遵守常识性预防措施。如果您的应用程序突然变成在流量服务方面与亚马逊相媲美的东西,您将需要重新调整。这就是生活。

关于PHP:在 $_SESSION 中存储 'objects',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/132194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com