2011-06-08 10 views
4

私はCodeigniterでHMVCを使い始めました。メインモジュールは、「ブログ」と呼ばれるニュース/ブログサイトです。私はユーザがコメントにログインできるようにしたいので、私は認証ファイルを持っています(実際にはタンク認証です)。今私はまた、ユーザーが自分の投稿統計情報と個人情報を表示する独自のプロファイルページを持ってほしい。ユーザーは、互いにメッセージを送信するプライベートメッセージシステムを持つこともできます。これをHMVC Codeigniterで別のモジュールにする必要がありますか?

HMVCの新機能であるため、コードをどのようにモジュール化すればよいですか?私は現在、良いものがなる推測している

  1. のブログ ' - ブログ/ニュースを表示
  2. 'AUTH' - ユーザプロファイル+プライベートメッセージ -
  3. 'ユーザー' ユーザー認証

「ブログ」と「ユーザーのどちらもを示したページの隅に小さなウィジェットを表示する「AUTH」を呼び出すことになりますサインアップ|ログインしていない場合はを登録し、ようこそJohn!プロフィール|受信トレイ| Johnとしてログインしている場合はに設定してください。

「auth」と「users」を組み合わせるか、「users」を「profile」と「messaging」に分割する必要がありますか? HMVCの構造を設計する場合、階層はどのようになりますか?

答えて

1

これは本当に依存しており、それはあなた次第です。

コメントシステムを他のモジュールに適用する場合は、間違いなく独自のモジュールにしてください。ブログに関連するの場合は、自分のコントローラーとしてブログモジュールに残すことができます。これは、modules::run()$this->load->module()が便利です。どこからでもビューフラグメントを取得してコメントを表示するコントローラを呼び出すことができます。

私はおそらくそれが自分のモジュールのすべてを作るだろう。

本当に100%モジュラー化するのはほとんど不可能です。常にとなるでしょう。あなたができることは、あなたの特定のプロジェクトに合った方法で整理しようとすることです。できるだけモジュール化するのが一般的です。いつかブログコメントを取り除くことに決めたら、コメントモジュールを削除するだけです。

+0

私は、モジュール化の計画と考えをしましたが、HMVCモジュールごとにコントローラを1つしか持てないことに気付きましたか?モジュール名はコントローラ名/ファイル名と同じでなければならないので、私はこれを終えました。これは本当ですか? – Nyxynyx

+1

それは本当ではありません。必要な数のコントローラを持つことができます。例えば、 'blogs 'モジュール内の' comments 'コントローラで、URL'/blogs/comments/comment_method'によってアクセスされます。 –

+0

私は今理解しています。つまり、 "auth"モジュールのデフォルトコントローラーは "auth"コントローラーになります。これは/ blogs/authと/ blogs/auth/authからアクセスできます – Nyxynyx

関連する問題