首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在会话序列化后维护XML文档状态

在会话序列化后维护XML文档状态
EN

Stack Overflow用户
提问于 2011-06-10 18:19:02
回答 2查看 391关注 0票数 2

我希望存储在会话中的类实例包含一个已加载的DOMDocuments数组。

正如这里的答案之一所指出的:PHP quirks and pitfalls,当您序列化包含XML的对象时,XML结构在反序列化过程中不再存在。据我所知,PHP5应该自动序列化会话数据,所以我需要知道的是如何在序列化/反序列化过程中幸存下来?

我已经读过了,看起来这是不可能的,再加上使用自动序列化/反序列化来写入和读取会话文件所涉及的开销,这似乎使得只读写__sleep和__wakeup上的类实例中的XML文件更可取。真的是这样吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-17 19:19:29

http://php.net/manual/en/function.serialize.php

这对于存储或传递PHP值而不丢失它们的类型和结构非常有用。

要序列化的值。serialize()处理除resource-type.之外的所有类型您甚至可以序列化()数组,这些数组包含对自身的引用。序列化的数组/对象中的循环引用也将被存储。任何其他引用都将丢失。

  • what is php resources
  • list of php resources

也许您可以考虑将原始数据存储到memcache、数据库

当您的会话指向该对象时(如memcache键、数据库行ID)

附加读出

你可能会对以下内容感到好笑(也许我错了)-

  • http://www.php.net/manual/en/simplexml.resources.php
  • http://www.php.net/manual/en/dom.resources.php
  • http://www.php.net/manual/en/session.resources.php
票数 2
EN

Stack Overflow用户

发布于 2011-06-21 22:06:27

为什么不简单地使用export the DOMDocument as a string,然后序列化这个字符串呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6304997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档