3

現在、私はかなり大きなプロジェクトを持っています。そこでは、さまざまなタイプのユーザーのためにさまざまなデータを保存する必要があります。

モデルのボディの詳細を保存する必要があります。

私が悩んでいる問題は、女性は男性とは異なる体の情報を持っていること、そして代理店、写真家は体の情報を必要としないこと、そしてユーザーはグループにいることです

group 3 - Model
group 4 - Agency
group 5 - photographer

私の見解では、私は現在これを行っています

if ($group == 3 && $gender == 2) 
{
    // load female body information (lot of details)
} 
elseif ($group == 3 && $gender == 1) 
{
   // load male body information (lot of details)
} 
else 
{
    // load just work explerience & company info
}

ユーザー情報を3つのテーブルに分けて保存していますか

users         . login information
users_details - users details, like first last name gender ect
users_body    - Body information for models both female / male

それで、なぜ私は3つの異なるページに表示されるこのタイプの情報が必要になるので、より効果的な方法のヒントを求めているのですか?それは厄介になり、多くのコードの重複が生じると思います

誰かが私にアドバイスのヒントを与えることができれば幸せです

ありがとうございました

4

2 に答える 2

5

ビューの外部でこのロジックを処理し、ロジックの結果に適切な結果を持つビューの変数を設定させます。'if-tree'を回避することに関しては、状況によっては戦略パターンが役立つ場合があります。

于 2013-03-27T07:58:33.960 に答える
3

すでに述べたように、これはビューの外で処理する必要があります。
DBテーブルの単語store dataと表現は、そのためのモデルを使用するためのヒントになるはずです。親(おそらく抽象)クラスを持っているModelBody、サブクラスMaleとで拡張するかもしれませんFemale
さまざまなユーザーロールを処理するには、通常、ACL(アクセス制御レベル)が適切な戦略です。
また、これはすべてコントローラーによって論理的に処理される必要があります。コントローラーから、必要なフィルター処理された情報をビューに渡すことができます。

于 2013-03-27T08:10:23.997 に答える