2012-02-17 7 views
0

DBを扱う前に、データの検証、準備、配置などをどのように構造化する必要がありますか?モデルの構造化 - MVC(PHP)

私が渡されることを期待していたデータは検証する必要があるかもしれません(例:カテゴリbooksが実際に存在する)または条件値が含まれています:IDに変換する必要があります(例:ad = sale場合の販売価格のみ設定する必要があります)または値を(例:カテゴリbooksはcategory_id 123に変換する必要があります)。

フィールドごとにグループ化する(フィールドごとに検証、準備などを行う)、またはアクション(検証、準備など)とフィールドで分けるなど、すべてをまとめてまとめるなど、さまざまな方法があると思います。

MVCのコンセプトと同じように、このトピックについてのコンセプトはありますか?柔軟性、メンテナンス性などを実現するには?

モデルの一般的なコンポーネントに関連するものは何ですか?

(私はそれができますかはわからないが、私は現在、CodeIgniterの/ PHPを使用しています)

答えて

0

CodeIgniterのは、あなたが作成するコールバックメソッドでForm_Validationクラスを使用することができます。 http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks。あなたは物事がデータベース内に存在するかどうかを確認することができ、あなたのコールバックメソッドで

など

+0

POSTデータはありません、モデルに直接アクセスすることでしょうか?私はモデルの失敗の場合、フォームを再ポピュレートするときにポスト値が元の値にならないため、Form_validationを使用して操作する際に問題があると思います。 (例:値をトリムして、model-> insert()がうまくいかなかった場合、 'string'の代わりに 'string'のようなものがあります。 – RS7

+0

投稿データがコントローラに送られます。モデルの失敗はフォームフィールドの再作成と何が関係していますか?カテゴリがdbに存在するかどうかをチェックする場合はチェックを行い、存在しない場合はfalseを返してフォームフィールドを提出されたものと置き換えてください。必ずしも変更する必要はありません。私が示唆したやり方で掘り下げてください。 – Catfish