Должен ли я сделать это другой модуль в HMVC Codeigniter?


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

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

  1. 'blog' - Blog / News Display
  2. 'auth' - аутентификация пользователя
  3. 'пользователи'- Профиль пользователя + личное сообщение

И "блог", и "пользователи" будут вызывать "auth", который также отображает небольшой виджет в углу страницы, который показывает зарегистрироваться / зарегистрироваться , Если вы не вошли в систему, и Добро пожаловать Джон! Профиль / входящие / настройки , Если вы вошли в систему как Джон.

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

1 4

1 ответ:

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

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

Я бы, наверное, сделал все это своим собственным модулем.

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