我的问题是,我在数据库中有一个序列化对象的列表,我想通过管理页面向用户显示这些对象的详细信息列表。它们是Laravel队列中的PHP对象。
我不想unserialize()
数据来恢复原始对象,我只需要能够"查看"那里的内容。
一种方法可以是将序列化字符串中的每个对象转换为stdClass
,并将原始类名移动到其属性。可能还有其他方法可以分析字符串并将其包含的内容提供为嵌套的数据数组。
是否有这些或其他可用方法的实现?我在平时的搜索中没有找到任何东西。
我要回答我自己的问题,这让我很生气。
我已经编写了一个快速包来进行解析——只需要几个类。它不会解析所有可以抛出的序列化数据,但它可以处理我现在需要的所有数据。
在这里,如果它有任何用处:
https://github.com/academe/SerializeParser
有很多非PHP软件包可以进行这种解析,我只是从中迁移了一些代码来解决问题。