在php中共享对象

时间:2012-12-21 09:42:31

标签: php

有点问你的意见,而不是问一个明确的正确/错误答案的问题。

我是OOPHP的新手我过去做了一些OO编程。我无法解决问题是在页面之间共享对象(或更多状态)的最佳方式。

我试图避免将大量数据塞入$ _SESSION,我不喜欢在每个页面更改的情况下以表格形式发布所有数据的想法。

任何见解都将不胜感激。

谢谢TT

2 个答案:

答案 0 :(得分:4)

$_SESSION中保存“大量数据”没有任何问题。通过执行此操作,您根本不会增加传输大小或任何内容,因此您不会影响客户端,因为$_SESSION纯粹是服务器端。

  

我试图避免将大量数据塞入$ _SESSION,我不喜欢在每个页面更改的情况下以表格形式发布所有数据的想法。

如上所述,这不是一个问题,你不是“在每个页面更改的表单中发布所有数据”,它在服务器端存储在一个平面文件中,当你重新打开会话时,它会被自动反序列化,并加入$_SESSION

如果$_SESSION的生命周期足够你,你应该使用它。

如果您需要比$_SESSION更持久的内容,例如,您需要在用户登录的整个时间内存储对象,您可以考虑序列化数据库中的对象并拉动它们出现在页面加载上,或者只是根据您为用户存储的值重新创建对象。

答案 1 :(得分:0)

如您所知,对象仅存在于页面上的两个http请求或cliks之间,因此您可以在$ _SESSION / $ _ COOKIE中保存所需的数据,将其发送到$ _POST / $ _ GET,序列化对象并将其保存在DB中,文本文件或其他... AFAIK这些是您使用PHP的唯一选择