0

JSON、PHPなどでシリアル化できるようにする必要があるオブジェクトがたくさんあります。私は JSONSerializer などを持っており、明らかに serialize() が利用可能です。ここでまだ必要なのは、オブジェクトを JSONSerializer または serialize() に供給できるものに変換するためのオブジェクト固有のロジックです。基本的に、この条件に一致する要素のみを含むプリミティブ型または配列のいずれかです。

2 つの質問:

  1. シリアル化の前に、このステップをどのように呼びますか? 「アレイ化」?オブジェクトに toArray() メソッドを与えることを考えています。また、このメソッドを指定するインターフェイスを実装してもらいたいですか? 「Arrayable」よりも良いアイデアはありますか?

  2. 非シリアル化についてどのように最善を尽くすことができますか? 各オブジェクトに静的な newFromArray メソッドを含めることができます。ただし、静的コードは好きではありません。「配列化」から特定のタイプのオブジェクトを構築できるファクトリに関する意見はありますか?

注: これは PHP 5.3 で動作する必要があります。

4

1 に答える 1

0

Symfony シリアライザー コンポーネントは、両方の質問に対する 1 つの答えを提供します。オブジェクトから配列へのステップを「正規化」と逆の「非正規化」と呼びます。

「デシリアライザー」または「デノーマライザー」の構築には、抽象ファクトリの作成が非常に役立つことがわかりました。これにより、構築上の問題が解決され、ユーザーがどのデシリアライザーを使用しているかを知ることさえできなくなります。この例は、シリアライゼーションコンポーネントに基づくこのデシリアライザー ファクトリです。

于 2013-11-13T22:54:22.103 に答える