質問: CodeIgniterでコントローラコードを膨らませないようにするには? コントローラは、ユーザの入力と出力を処理するMVCパターンを持っています。したがって、入力検証と応答準備はコントローラで行う必要があります。 例えば、私はコントローラメソッド "save"を持っています: * 入力データを探します * データでバリデータを実行する * 入力が有効で、適切なモデルをロードし、フィールドを入力値に設定し、 `save()`メソッドを呼び出す場合 * 入力が無効で、編集フォームを再読み込みするためのデータを準備し、フォームを表示します すべてのこのシーケンスは、線形コードのかなりの混乱を作成します。私は何とかそれを分離したいと思います。検証部分をモデルに移動しますか?間違っている?入力を処理する特別な "ライブラリ"クラスを作成しますか? Asp.Net MVCでは、これは "オブジェクトバインダー"パターンを実装しているので、これより優れています。したがって、検証とモデルフィールドのバインドがなくなり、コントローラが大幅に軽量化されます。 CodeIgniterに類似したものはありますか?
回答: できる限りあなたのモデルに多くのロジックを入れないようにしてください。コントローラは、実際にサービスを開始し、ビューのデータを準備するために使用する必要があります。 あなたは、再利用可能なコード、つまりバリデータ、フィルタなどを再利用する必要があります。