初めてフレームワーク (codeigniter) を使用して CRM を構築していますが、MVC 方法論を維持しながら、特定のモジュールをどこに配置すべきかを判断するのに苦労しています。このモジュールは、(新しい会社が作成されると) 新しいユーザーを自動的に生成し、指定された電子メール アドレスにログインの詳細を電子メールで送信します。
スキニー コントローラーとファット モデルの考え方はよく知っていますが、必要なすべての情報をコンパイルするには、モジュールが複数の異なるテーブルからデータを要求し、複数のテーブルにデータを挿入する必要があります。
これまでに検討したシナリオ:
- ロジックは、ほとんどの情報が由来するモデルにあります。
- このモジュールと必要な複数のテーブルだけを扱うまったく新しいモデルを作成します。
- 会社の作成を処理するコントローラーにロジックを配置します。
- 新しいライブラリまたはヘルパーを作成し、必要なときにモジュールを呼び出します。
スキニー コントローラーとファット モデルは、1 つまたは 2 つのオプションが適切であることを示唆しているように見えますが、モデルはデータベース内の 1 つのテーブルのみを処理する必要があると考えるようになりました。
MVCへの準拠を確実にするための正しいアプローチは何ですか?