我知道这个话题很老,但是这个问题不断出现,并没有让我满意:
无论是将对象保存在$
_SESSION中,还是根据隐藏在隐藏表单字段中的数据将它们整块地重构,还是每次都从DB重新查询它们,都在使用状态。HTTP是无状态的(或多或少;但是请参阅GET与PUT),但是几乎任何人关心与Web应用程序相关的所有事情都需要在某个地方维护状态。好像把国家推到了角落,这在某种程度上是理论上的胜利,这是错误的。状态就是状态。如果使用状态,则会失去无状态所带来的各种技术优势。除非您事先知道应该失去睡眠,否则这不是失去睡眠的东西。
汉克·盖伊(Hank
Gay)提出的“双重挫败”论点所带来的祝福使我特别困惑。OP是否正在构建分布式且负载均衡的电子商务系统?我的猜测不是。而且我将进一步假设,序列化他的$
User类或任何其他类不会使他的服务器无法修复。我的建议:使用对您的应用程序明智的技术。$
_SESSION中的对象很好,但要遵守常识性注意事项。如果您的应用程序突然变成了可与Amazon竞争的流量,那么您将需要重新适应。那就是生活。



