2011-06-08 2 views
4

Я только начинаю использовать HMVC в Codeigniter. Основной модуль - это новостной/блог-сайт под названием «блог». Я хочу, чтобы пользователи могли входить в систему, чтобы комментировать, поэтому у меня есть файлы аутентификации (фактически на самом деле). Теперь я также хочу, чтобы пользователи имели свои собственные страницы профиля, которые показывают их статистику размещения и личную информацию. Пользователи также могут иметь систему личных сообщений, в которой они отправляют сообщения друг другу.Должен ли я сделать это другим модулем в кодекторе HMVC?

Будучи новым для HMVC, как мне модулировать код? В настоящее время я предполагаю, хороший один будет

  1. 'блог' - Блог/Новости Дисплей
  2. 'Auth' - Аутентификация пользователя
  3. 'пользователей' - Профиль пользователя Личное сообщение +

и «блог» и «пользователи» будут называть «» AUTH, который также отображает немного виджет на углу страницы, который показывает Зарегистрироваться | Регистрация если не вошел в систему, и Добро пожаловать, Джон! Профиль | Входящие | Настройки, если вы вошли в систему под именем John.

Или мне следует объединить «auth» и «users» вместе или разделить «пользователей» на «профиль» и «обмен сообщениями»? Как будет выглядеть иерархия, если вы хотите создать структуру HMVC?

ответ

1

Это действительно зависит, и все зависит от вас.

Если вы хотите, чтобы система комментариев применялась к другим модулям, определенно сделайте ее собственным модулем. Если это только, связанный с блогами, вы можете оставить его в модулях блогов, так как это собственный контроллер. Здесь также могут использоваться modules::run() и $this->load->module(), вызывая контроллер из любого места, чтобы получить фрагменты просмотра, чтобы отобразить комментарии.

Я бы, вероятно, сделал все, что у него есть.

Это практически невозможно быть действительно 100% модульным, будет всегда быть определенными зависимостями. Лучшее, что вы можете сделать, это попытаться организовать его таким образом, который имеет смысл для вашего конкретного проекта. В общем, модулируйте как можно больше - если вы решили избавиться от комментариев в блоге, вы можете просто удалить модуль комментариев.

+0

Я планировал и думал о модуляции и заметил, что у меня может быть только 1 контроллер для каждого модуля HMVC? Я сделал это, поскольку имя модуля должно быть таким же, как имя контроллера/имя файла. Это правда? – Nyxynyx

+1

Это неправда. У вас может быть столько контроллеров, сколько хотите. Например, контроллер «комментариев» в модуле «блоги», доступ к которому осуществляется с помощью url '/ blogs/comments/comment_method' –

+0

, я понимаю сейчас. Другими словами, контроллер по умолчанию для модуля «auth» будет контроллером «auth», к которому можно получить доступ через/blogs/auth, а также/blogs/auth/auth – Nyxynyx

Смежные вопросы