ストアド プロシージャ、コントローラ、およびモデルがあります。
プロシージャまたはモデルのどこでデータベース エラー チェック [行が返されない、テーブルに競合する主キーがある、無効な値が指定されているなど?] を行う必要がありますか? どこからユーザーにメッセージを表示する必要がありますか[更新成功、ステートメントを実行できませんでしたなど]?
より良い習慣は何ですか?
ストアド プロシージャ、コントローラ、およびモデルがあります。
プロシージャまたはモデルのどこでデータベース エラー チェック [行が返されない、テーブルに競合する主キーがある、無効な値が指定されているなど?] を行う必要がありますか? どこからユーザーにメッセージを表示する必要がありますか[更新成功、ステートメントを実行できませんでしたなど]?
より良い習慣は何ですか?
エラー チェックはモデル レイヤーで実行する必要があります。
具体的には、データマッパーまたはデータの抽象化を扱うその他の構造で。PDO を使用している場合、SQL エラーによって例外が発生します。これは、ストレージ抽象化のレベルで処理されます。これは、その時点で保存または設定していたドメイン オブジェクトにエラー状態を割り当てることによって行われます。
コントローラーは、まったく別のレイヤーであるプレゼンテーションレイヤーに存在します。モデル層によって処理されるドメイン ビジネス ロジックの内部の問題を認識してはなりません。それは抽象化の漏れにつながります。
ビューは、表示する情報を収集するとき、最初に使用するサービスにステータスを返すように要求する必要があります。サービスが既存のエラー状態についてビューに通知する場合、ビューはより詳細な情報を要求し、このエラーへの対応方法と、エラー状態の視覚化に使用するグループ テンプレートを決定します。
はい、すべてのエラー メッセージと表示項目はビューで処理する必要があります。データベースのエラー チェックはモデルで実行できます。
私の意見では、DBエラーチェックはモデルに入り、表示(すべて)は「ビュー」レイヤーに行きます。ここで、MVC フレームワークの作成に関する素敵な投稿を見つけることができます。
http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/