2011-12-17 11 views
1

DBからのデータに基づいてCSVファイルを作成するOOPを使用して簡単なPHPアプリケーションを構築しています。PHPクラスの入力を検証する場所 - ベストプラクティス

私はConfigというクラスを持っています:openという名前のメソッドで構成され、iniファイル(iniファイルからパラメータとして渡される)からデータを取得します。このデータは、プライベートフィールドにマップされ、アクセサを介してアクセスされます。私はまた、iniファイルにデータを書き戻すために使用するsaveメソッドも持っています。

私のUtilsクラスには静的メソッドがあります:CSVを作成するcreateCsvです。私はデータに区切り文字&(configオブジェクトから渡された)出力ファイルを渡します。

私の質問はこれです - どこでデータを検証する必要がありますか?

現時点では、Configクラスのopenメソッドに条件付きロジックがあり、privateメンバー変数にバインドする前に値が正しく設定されていることを確認しています。

私はUtils :: createCsvメソッドにも条件付き検証を入れるべきでしょうか?

+0

私はあなたが異なるクラスのデータをチェックすべきだと思っています。自分自身についてよく知っているクラスを作成することは、常に可能です。 – Kamil

答えて

1

モデル内には常に検証ロジックを配置する必要があります。そしてConfigはあなたのアプリの中にそのようなモデルのようです。

DRY(Dont-Repeat-Yourself)のルールも念頭に置いてください。つまり、コードの重複を避けるべきです。

+0

あなたのコメントを感謝します。 静的メソッドcreateCsvが将来別のアプリケーションから呼び出される可能性があるので、入力が有効であることを確認したいと思っていました。 私は、常に呼び出しコードからの入力を検証するだけで十分です。 – StuffandBlah

関連する問題