0

私は現在、実行しているサイト用に独自のPHP mvcを作成しています。これにより、必要なコードだけができるだけ軽量かつ高速に含まれるようになります。

このサイトには非常に幅広い機能とユーザー機能があるため、どのコントローラーがどのモデルでどのアクションを実行するかを決定することは非常に複雑になり始めています。

次のメンバー機能があるとしましょう

  • お気に入り
  • 友達
  • 歴史

それらのそれぞれはmembercontrollerによって制御できますが、私の質問は、それらすべてを1つのモデル内に配置するか、それぞれのモデル内に配置するかです。

これら3つのそれぞれには、次のようなサブメニーアクションがあります。

  • お気に入りに追加
  • お気に入りを削除する
  • お気に入りを表示
  • 履歴に追加
  • 履歴を削除する
  • 履歴を表示
  • 友達として追加
  • 友達を削除する
  • メッセージフレンド

...等

現時点では、それぞれのモデル(お気に入り、友達、歴史)がおそらく最善の方法だと思いますが、モデルが多すぎるという点に到達することはできますか?

現在、サイト全体に6つのコントローラー、17のモデル、25のビューがあります

4

3 に答える 3

1

はい、技術的にはモデルが多すぎる可能性があります。PHPに存在できるクラスの数には(いつものように)制限があります。しかし、それはかなり大きいので、続けてください。一度に多くのモデルだけでなく、さまざまな種類のモデルを作成できます。ですから、これまでに見たことのない限界があるかもしれないと考えて、コーディングを制限しないでください。

つまり、ファイルの数ではなく、コードがどれほどうまく記述されているか、たとえば、すべてが適切にグループ化され、一緒に属しているのでしょうか。ドメインモデルも参照してください。

于 2012-05-03T09:13:30.347 に答える
1

ModelController何らかの形で を変更するアクションを処理することをお勧めしますModel

つまりFavoritesController、お気に入り ( に保存されているFavoritesModel) の追加、削除、および表示を扱います。コントローラーを無駄のないスリムな状態に保ち、テストがはるかに簡単になり (メソッドが少なくなります)、論理的なアプリ パーツがまとめられます。

また、アプリケーションを、それぞれを処理する小さなアプリに分割することもできます。

  • 認証/ログイン
  • ソーシャル/共有
  • 記事の追加/閲覧/表示 (メインアプリ)
于 2012-05-02T16:22:37.390 に答える
0

そのようなシナリオでは「正しい」答えはありません。そのため、私がお伝えできるのは私自身の解釈だけです。サービスを使用して、1 つ以上のモデルをバインドします。したがって、User サービスは User モデルと Favorite モデルを使用して、ユーザーのお気に入りを操作および表示します。

于 2012-05-02T16:19:54.847 に答える