1

私はプロジェクトのために Ebay API を使用してきましたが、それが素晴らしいものであることがわかりました。しかし、PHPに関連する問題が見つかりました。

私は Ebay から自分の商品を読むとき、データベースにたくさんの詳細を保存します。現在、念のため、戻りオブジェクト全体をシリアル化し、データベースの関連テーブルに格納しています。

アイデアは、自分の情報を表示するときに、必要に応じてすべての詳細を手元に用意できるということです。問題は、価格情報が常にサブオブジェクトにあるという点で発生します。

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

オブジェクトのシリアル化を解除するとわかるように、私の狡猾な計画は不完全なクラスの問題に反しています。次の質問を確認しましたが、成功しませんでした。

__PHP_Incomplete_Class オブジェクトのプロパティへのアクセスを強制する

主な問題は、私が見る限り、価格クラスが Ebay api に保存されていることにあるので、どうすれば再作成できますか?

私はこのページhttp://uk3.php.net/manual/en/function.unserialize.phpを読んでいて、理解しようとしてunserialize_callback_funcいますが、どちらも理解できないので、助けていただければ幸いです!

4

2 に答える 2

0

クラスを定義するコードの部分は関係ありません。重要なのは、オブジェクトを逆シリアル化するときにコードが読み込まれることです。既存のオブジェクトをデシリアライズする前に(新しいオブジェクトをフェッチするときと同じ方法で) eBay API をロードしている限り、正常に動作するはずです。

于 2010-06-01T17:30:05.073 に答える
0

ライブラリにアクセスできない場合は、データをシリアル化する前に情報を処理する必要があります。オブジェクトを stdClass に変換するか、選択したクラス (おそらく制御するクラス) にシャッフルすることができます。持っている情報の量、または情報の深さに応じて、配列として保存することもできます。

于 2010-06-01T17:31:05.817 に答える