Должен ли я сделать это другим модулем в HMVC Codeigniter? - PullRequest
4 голосов
/ 08 июня 2011

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

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

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

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

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

1 Ответ

1 голос
/ 08 июня 2011

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

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

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

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

...