我想知道是否有一种方法可以将PHP对象发送到另一台机器上的另一个PHP页面?
例如 - 我实现了一个构造Trie的类。在构建Trie之后,我想将对象发送到另一个PHP页面,以便它也可以访问该对象。
可能将它打包成某种编码的JSON请求,然后将其发送到可以使用jQuery将其转发到所需页面的页面,是一个可行的选项吗?
对不起,我对此非常陌生!
会感谢所提供的任何帮助。
干杯!
答案 0 :(得分:6)
对象是类的实例。对象不能按原样发送。 “可传输”对象必须是可序列化的:确保您的类实现Serializable
一旦实现了接口,只需调用serialize和deserialize方法来获取对象字符串并重建对象
答案 1 :(得分:1)
使用php函数serialize()
和unserialize()
。当您反序列化对象时,请务必定义其类。
答案 2 :(得分:1)
只需根据用户浏览的密钥为每个对象分配一个密钥,为每个新浏览器生成一个新密钥,并将其存储在会话/ cookie中以检索其个人“对象”
正如STT已经提到的那样,你可以在会话中序列化并存储完全正常,尽管序列化被延迟在php中实现它们应该永远不会把它放进去。
反而看看APC和SPL都内置于php(APC更适合于对象存储,特别是从5.6开始(我相信如此)它不再是一个扩展,而是内置到PHP核心中它自己完全充分利用它原生,所以你不仅可以获得一个简单的对象存储,还可以获得操作码缓存,这将大大提高你的php页面的速度。注意:如果您需要多个处理服务器,那么当您运行单个web / php服务器时,APC才真正可用于对象存储,那么您将需要一个分布式对象存储,在这种情况下,您可能获得的最好的是memcache
很多链接大部分都在SO上。
When should I use Memcache instead of Memcached?
Memcached vs APC which one should I choose?
http://php.net/manual/en/book.memcached.php
答案 3 :(得分:0)
正确的方法是在对象的类中实现Serializable接口(如果它还没有),它通过两个服务器之间的某种传输传递它。
尝试不通过客户端代码发送数据,除非您信任客户端或者您不关心数据。