2012-03-03 10 views
0

ただ1つのモデルでadd_question(), get_all_quests(), add_comment()などのような質問とコメントのためのメソッドを使いたいです。なぜなら、私は1つの機能を持っているので、質問するかもしれません。validate_html()はhtmlコードを検証し、コメントと質問の両方で検証したい(コメントや質問にhtmlコードを入力できるため)。それで、そういうのは大丈夫ですか?質問とコメントのモデルは1つだけですか?

+2

私は単純にバリデータクラスを作成し、それを使用する必要があるすべてのクラス内でインスタンス化します。 – Brad

答えて

2

関数validate_html()は、ライブラリの別のシステムに入る必要があります。したがって、MVCと共に、アプリケーション全体で共有できるライブラリと呼ばれる第4レベルがあるはずです

詳細については私の答えを参照してください:Proper place to put logic in MVC

function add_question() 
{ 
// do stuff 
$library->validate_html(); 
} 

function add_comment() 
{ 
// do stuff 
$library->validate_html(); 
} 
2

非常に単純です - いいえ。モデルのポイントは、その特定の要素に関連してデータをカプセル化する必要があるということです。質問に関するすべてのデータ、およびコメントに関するすべてのデータが含まれます。

ただし、コードを最大限に再利用したい場合もあります。これを行う最も良い方法は、validate_html()メソッドを含むValidatorクラスを作成することです。これは、モデルを検証するためにMVCを使用している場合、コントローラで使用できます。

関連する問題