2011-12-29 13 views
2

私はRails、Django、Zend、CakePHPでプログラミングしました。また、WordpressとDrupal。CodeIgniter MVC Model Logic

今、私はCodeIgniterでかなり大きなアプリケーションとして「スピードアップ」しています。

通常、MVCフレームワークでの私の経験は、モデルが実際のデータベーステーブルを参照してビジネスロジックを表すと考えています。 CodeIgniterのドキュメントとコードベースで私は解剖していますが、ページのように漠然としたものを表現するモデルが作成されています。多くのビジネスロジックがそれらのモデルに直接書き込まれ、他の実際のデータモデルが組み込まれています。私はこれが理想的であり、MVCに続くとは確信していません。

データモデル以外のモデルを作成する必要がありますか?

また、ユーザーを表すデータモデル(DB内にuserテーブル)があります。そのユーザーテーブルには、型enum( 'male'、 'female')のgenderという列があります。今、私は、列挙型列のジェンダーオプションをドロップダウンに入力したいと思います。

このロジックを置くのが最も適切なのはどこですか?

ユーザーモデルは、db ...の1人のユーザーまたは行を表すために使用されるオブジェクトです。したがって、関数がユーザテーブルに関連しているが、それは単一のユーザオブジェクトには関係しないため、 "get_gender_options"というユーザモデル/クラスに関数を含めるのは適切ではないようだ。 Zendでは、この種のロジックをフォームオブジェクト自体に組み込むことができます。 「正しい」答えはありません

、一つだけ私たちは、最も適切な...

答えて

0

を考えることができる私はおそらくちょうどではなくフォームのビューでそれを貼り付けるよりも、モデルに「get_gender_optionsを」置きます。それをDRYに保つがモデルに入れないように、私はこれを保持するヘルパーを作成するだろう。

関連する問題