在PHP中在页面之间传递类实例和其他数据
我一直在研究在PHP中页面之间提供持久数据的问题。这尤其适用于在一个页面中设置的、以后需要访问的对象。这似乎比我想象的要困难,但有几种方法可以做到这一点,尽管它们似乎都有点难以使用,尤其是当数据变得非常复杂时:在PHP中在页面之间传递类实例和其他数据,php,Php,我一直在研究在PHP中页面之间提供持久数据的问题。这尤其适用于在一个页面中设置的、以后需要访问的对象。这似乎比我想象的要困难,但有几种方法可以做到这一点,尽管它们似乎都有点难以使用,尤其是当数据变得非常复杂时: 通过$\u GET或$\u POST将数据传递到下一页 将数据复制到数据库并在下一页中检索 将数据放入会话或cookie中 序列化对象并使用相同的参数和值重新创建它 这些看起来都很费劲,因为它们主要依赖于必须解构现有的数据结构,然后在下一页重新构建它。我假设这是为了减少PHP服务器的
- 通过$\u GET或$\u POST将数据传递到下一页
- 将数据复制到数据库并在下一页中检索
- 将数据放入会话或cookie中
- 序列化对象并使用相同的参数和值重新创建它
如果使用$\u GET或$\u POST,则仅限于非敏感数据,并且将对象公开给任何用户。你不会想要的 饼干的大小是有限的 Cookie通常限制为4096字节,每个站点最多只能存储20个Cookie
在请求之间(对于同一用户)持久化对象的最佳方法是使用会话。memcached、redis、mysql等已经有了会话保存处理程序。如果需要自定义,您也可以编写自己的会话保存处理程序。如果您使用$\u GET或$\u POST,则仅限于非敏感数据,并且您将对象公开给任何用户。你不会想要的 饼干的大小是有限的 Cookie通常限制为4096字节,每个站点最多只能存储20个Cookie
在请求之间(对于同一用户)持久化对象的最佳方法是使用会话。memcached、redis、mysql等已经有了会话保存处理程序。如果需要定制,您也可以编写自己的会话保存处理程序。使用会话是否会出现性能问题?性能不是我最关心的问题,但我知道从服务器读/写会话数据的传输瓶颈很小。我更关心的是使用复杂的代码在页面之间重新创建数据。感谢您的输入。您在使用会话时是否遇到任何性能问题?性能不是我最关心的问题,但我知道从服务器读取/写入会话数据的传输瓶颈很小。我更关心的是使用复杂的代码在页面之间重新创建数据。谢谢你的意见。谢谢你的宝贵意见。考虑到简单登录有多普遍,如果POST/GET易被截获,用户名/密码如何发送?由于URL中的数据不可直接读取,我假设POST的公开程度略低于GET,这是否仍然可以轻松读取?从表单发送数据的唯一方法是通过$\u GET和$\u POST$_POST更安全,因为如果通过SSL连接使用POST,它是加密的,并且数据不由浏览器缓存(可能由浏览器缓存,其他用户可以查看历史记录以查看您的数据)。感谢您的有用评论。考虑到简单登录有多普遍,如果POST/GET易被截获,用户名/密码如何发送?由于URL中的数据不可直接读取,我假设POST的公开程度略低于GET,这是否仍然可以轻松读取?从表单发送数据的唯一方法是通过$\u GET和$\u POST$_POST更安全,因为如果通过SSL连接使用POST,它是加密的,并且数据不会被浏览器缓存(可能会被浏览器缓存,其他用户可以查看历史记录以查看您的数据)。您的观点非常正确,但我认为当“Alice”访问B页时,数据只对“Bob”可用。谢谢您的帮助,我很欣赏你的洞察力。@Kwangle:是的,好吧,(在http中)这是不可能的另外,别忘了接受有用的答案。你的观点很有道理,但我认为只有“Alice”才能在“Bob”访问B页时获得数据,而不是“Bob”。谢谢你的帮助,我感谢你的见解。@Kwangle:是的,嗯,(在htt中)这是不可能的