-1

比问一个有明确正确/错误答案的问题更要征求你的意见。

我对 OOPHP 还很陌生,我过去做过一些 OO 编程。我无法理解的是在页面之间共享对象(或更多它们的状态)的最佳方式。

我试图避免将大量数据塞进 $_SESSION 中,而且我也不喜欢在每页更改的表单中发布所有数据的想法。

任何见解将不胜感激。

谢谢 TT

4

2 回答 2

4

将“大量数据”保存在$_SESSION. 通过这样做,您根本不会增加传输大小或任何东西,因此您不会像$_SESSION纯粹的服务器端那样影响客户端。

我试图避免将大量数据塞进 $_SESSION 中,而且我也不喜欢在每页更改的表单中发布所有数据的想法。

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

如果它$_SESSION的寿命对你来说足够了,你应该使用它。

如果您需要比 a 更持久的东西$_SESSION,例如,您需要在用户登录的整个过程中针对用户存储一个对象,您可以考虑在数据库中序列化对象并在页面加载时将它们拉出,或者只是重新创建来自您针对用户存储的值的对象。

于 2012-12-21T09:50:24.750 回答
0

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

于 2012-12-21T09:47:16.947 回答