2

PHP MVC アプリケーションがあります。私の「M」には Domain、Mapper、Factory レイヤーがあり、これらには Service レイヤーを介してアクセスします。

多くの場合、html 選択ボックスの id/value ペアのリストを生成する必要があります。これまで、クエリを Mappers に入れ、単純な配列を返してきましたが、これは正しくありません。マッパーは、オブジェクトを格納および取得するためのものですよね?

オブジェクトのコレクションを取得するためのオーバーヘッドを本当に望んでいません。単純な配列を生成するためにそれらの利点のほとんどを破棄するだけです。クエリをサービスに移動することを考えていました。おそらく、ルックアップ専用のサービスを用意することさえありますか? これは、アプリケーションの 2 か所に SQL コードがあることを意味しますが、すっきりした感じがします。

より良いオプションはありますか?

4

1 に答える 1

0

レコードの取得中にレコードの正しいコレクションをフィルター処理するためのサービス レイヤーを作成するため、コントローラーから直接サービス関数を呼び出します。サービスは、レコードを取得して保存するためにマッパー関数を呼び出します。

例: コントローラー -> サービス -> マッパー

このようにして、コード構造はきちんと保たれ、DRY (Don't Repeat Yourself) の原則にも従うことになります。SQL クエリを 2 か所に配置する必要はありません。

于 2014-02-27T06:51:18.257 に答える