2

したがって、基本的には、JSON でエンコードされた文字列から情報を取得し、そのデータを MVC Web アプリで使用されるモデルに入れる一連のボイラー プレート コードを作成する必要があります。これを行うための受け入れられた方法はありますか?すべてのモデルに連想配列からモデル オブジェクトへのコンバーターが必要ですか? これを行うために私が書くユーティリティクラスが必要ですか? 基本的に、コントローラーからそのコードを削除してスリム化しようとしているだけで、PHP MVCは初めてです。質問に関連する場合は、Kohana 3.2 を使用しています。

編集:

明確にするように求められました。JSON でエンコードされた文字列形式でデータを受け取ります (自分で書いた Web サービス - Java /w Jersey から)。基本的に、私の Web アプリのモデルはデータベースからではなく、Web サービスから情報を取得しています。Web サービスはすべてを JSON 形式で返すので、私はその問題に対処するコードを書いていることに気づきました。逆に、JSON を特定の Java オブジェクトに変換するように GSON Google コードに指示できます。PHPでこれを行うためのワンライナーの方法はないようです。私は stdClass オブジェクトについて話しているのではなく、モデルについて話しているのです。

4

2 に答える 2

4

モデルは、メソッド fromArray($array) を使用して単純なインターフェイスを実装する必要があります

public function fromArray(array $array)
{
  foreach($array as $property => $value) {
     if(property_exists($this, $property) {
       $this->$property = $value;
     }
  }
}
于 2012-10-21T18:52:21.740 に答える
1

Kohana のモデル (ORM calss) は、データベース レコードでのみ機能します。Kohana を使用する場合は、ORM モジュールに基づいて新しいモジュールを作成する必要があります。このモジュールは、実際にはモデル (ロード、保存) で同じことを行うことができますが、入力データで機能することはありません。

于 2012-10-15T20:05:04.647 に答える