Zendframework で最初のアプリケーションを作成しています。私の質問は、Model-View-Controller (MVC) アーキテクチャ パターンに関するものです。
現在、データベース テーブルを参照するモデルがあります。私が現在持っているクラスは次のとおりです。
Model_Person
Model_PersonMapper
Model_DbTable_Person
さて、ネット上でたくさんの例を見かけますが、どれも単純な挿入・更新・削除のケースです。私の状況では、人が存在するかどうかを確認する必要があり、存在しない場合は、それを挿入して ID を取得する必要があります (保存して ID を返すことは知っていますが、それは私がしなければならないことではありません。例)。
非常に単純ですが、他のすべての特定のケースのデータベースロジックをどこに配置するかを知りたいです。他のいくつかのケースでは、他のテーブル全体のチェックが必要になる場合があります...何でも!
Model_XXXXMapper にすべての特定の関数を追加して、実行したい現在の検証/プロセスに非常に具体的なものを追加する必要がありますか? 関数 getIdOfThePersonByNameOrInsertIfNotExists() のように (もちろんサンプル名!!!)
それとも、モデルへの詳細なアクセスが検証されるコントローラーに常駐する必要がありますか?
つまり、すべてのデータ固有の関数またはチェックをどこに配置すればよいのでしょうか?