Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP对象发送到另一个PHP页面_Php_Jquery_Oop_Trie - Fatal编程技术网

将PHP对象发送到另一个PHP页面

将PHP对象发送到另一个PHP页面,php,jquery,oop,trie,Php,Jquery,Oop,Trie,我想知道是否有一种方法可以将一个PHP对象发送到另一台机器上的另一个PHP页面 例如,我实现了一个类,它构造了一个Trie。现在,在构建了Trie之后,我想通过该对象发送到另一个PHP页面,以便它也可以访问该对象 可能将其打包成某种编码的JSON请求,然后发送到一个页面,该页面可以使用jQuery将其转发到所需的页面,这是一个可行的选择吗 对不起,我对这个完全陌生 如有任何帮助,我们将不胜感激 干杯 使用php函数serialize()和unserialize()。取消序列化对象时,请确保已定义

我想知道是否有一种方法可以将一个PHP对象发送到另一台机器上的另一个PHP页面

例如,我实现了一个类,它构造了一个Trie。现在,在构建了Trie之后,我想通过该对象发送到另一个PHP页面,以便它也可以访问该对象

可能将其打包成某种编码的JSON请求,然后发送到一个页面,该页面可以使用jQuery将其转发到所需的页面,这是一个可行的选择吗

对不起,我对这个完全陌生

如有任何帮助,我们将不胜感激


干杯

使用php函数
serialize()
unserialize()
。取消序列化对象时,请确保已定义其类。

正确的方法是在对象类中实现可序列化接口(如果尚未实现),该接口通过两台服务器之间的某种传输传递对象


尽量不要通过客户端代码发送数据,除非您信任客户端或不关心数据。

对象是类的实例。无法按原样发送对象。“可传输”对象必须是可序列化的:确保类实现


一旦实现了接口,只需调用serialize和deserialize方法来获取对象字符串并重建对象

我个人会将对象存储在对象存储中,而不是序列化memcache,甚至可以使用APC会话,您还可以使用nosql风格的数据库和密钥存储,所有这些都非常适合对象持久性,因为它们大多是非常快速的访问数据存储,而不需要sql开销。nosql-database.org

只需根据用户浏览的密钥为每个对象分配一个密钥,为每个新浏览器生成一个新密钥,并将其存储在会话/cookie中,以检索其个人“对象”

正如STT已经提到的,您可以序列化并存储在会话中,这是非常好的,尽管序列化在php中无法实现,但他们不应该将其放入会话中

取而代之的是APC和SPL都内置在php中(APC更适合对象存储,特别是从5.6开始(我相信从5.6开始)它不再是一个扩展,而是内置在PHP核心中,使其完全原生,因此您不仅可以获得一个简单的对象存储,还可以获得操作代码缓存,这将大大提高PHP页面的速度

注意:当您运行单个web/php服务器时,APC才真正适用于对象存储。如果您需要多个处理服务器,那么您将需要一个分布式对象存储,在这种情况下,您可能得到的最好结果是memcache

很多链接大多都是这样的


确保您的类实现了可序列化的接口,然后序列化对象,将其作为字符串发送,然后取消序列化。就我个人而言,我会将对象存储在对象存储中,而不是序列化和发布,但这只是我:)@dave对象存储在需要“更改”的情况下不会正常运行page@STTLCU是的。memcache、APC甚至可以使用会话。大多数nosql数据库都适用于对象存储只要根据用户浏览的密钥为每个对象分配一个密钥为每个新浏览器生成一个新密钥并将其存储在会话/cookie中以检索其个人“对象”@Dave我试图仅使用普通PHP使其保持简单(即使memcache也是一个非常高级的主题)。我完全同意你的观点,只需注意明确禁止在会话变量中存储对象。