0

私は現在、MVCパターンに従うZend2プロジェクトを開発しています。

私のすべてのモデルは、直接接続を使用してMySQLデータベースからのデータで満たされています。

モデル-ビュー-コントローラーの関係全体を破壊することなく、元のデータソースを変更したいと思います。新しいデータソースはJSONRestAPIになります。このJSONWebサービスには、基本的にMySQLソースと同じデータ(別の形式)が含まれており、モバイルアプリケーションのWebサービスとして使用されます。

最初の問題は、Zend2アプリケーションを残りのAPIに接続することです。2番目の部分は、このデータを評価し、それをある種のレイヤーとして作成して、以前と同じように「古い」アルゴリズムを引き続き使用できるようにすることです。

この種のデータソース切り替えを実行するための最良の方法は何でしょうか?また、Webサービスから配信された情報を保存して、このWebサービスへのクエリの量を減らす方法はありますか?

4

1 に答える 1

1

モデルレイヤーを、エンティティをデータベースに保存およびロードする方法を知っているマッパーを使用して、エンティティのセットとして記述します。マッパーはサービスクラスを介して対話され、アプリケーションの残りの部分はサービスクラスのみを使用します。

ZF2なので、ServiceManagerを使用してマッパーをサービスクラスにロードします。これにより、サービスクラスはマッパーについて(呼び出すメソッド名以外は)何も知らず、エンティティはそれらを格納するマッパーについてもわかりません。 。

このシナリオでは、データベースではなくWebサービスAPIと通信する新しいマッパーのセットを作成し、Service Managerを再構成すると、新しいWebサービスAPIマッパーがデータベースのものと同じメソッドを持っている限りすべてが機能します。

于 2013-03-14T08:12:16.360 に答える