代码之家  ›  专栏  ›  技术社区  ›  David Yell

取消序列化API返回对象(PHP/Ebay API)

  •  1
  • David Yell  · 技术社区  · 16 年前

    我一直在与ebayapi合作一个项目,发现它很棒。不过,我现在发现了一个问题,与PHP更相关。

    当我从易趣上阅读我的物品时,我在数据库中存储了一堆细节。目前,我将整个return对象序列化,并将其存储在数据库中的一个相关表中。

    我的想法是,当我显示我的信息,我有所有的细节手,如果我需要他们。问题在于定价信息总是在子对象中。

    [ConvertedAdjustmentAmount] => __PHP_Incomplete_Class Object
        (
            [__PHP_Incomplete_Class_Name] => eBayAmountType
            [_] => 0
            [currencyID] => USD
        )
    

    forcing access to __PHP_Incomplete_Class object properties

    据我所知,主要问题在于price类存储在ebayapi中,因此如何重新创建它?

    我一直在看这一页, http://uk3.php.net/manual/en/function.unserialize.php unserialize_callback_func 我也不知道,所以任何帮助都将不胜感激!

    2 回复  |  直到 7 年前
        1
  •  0
  •   VoteyDisciple    16 年前

    哪段代码定义了类是不相关的。重要的是代码是 在反序列化对象时。只要您已经加载了eBay API(与获取 新的 对象)在尝试反序列化现有对象之前,它应该可以正常工作。

        2
  •  0
  •   allnightgrocery    16 年前

    如果您没有访问这些库的权限,则需要在序列化数据之前处理这些信息。您可以将对象转换为stdClass,或将其洗牌为您选择的类(可能是您控制的类)。根据您拥有的信息量或信息的深度,您还可以将其存储为数组。