Я новичок в CodeIgniter, который все еще изо всех сил пытается понять, как использовать идеологию MVC максимально аккуратно.
Я пишу базовую систему CMS с возможностью голосовать за записи, следить за людьми и т. Д., Следовательно, я обнаружил, что использую одни и те же или похожие куски кода в нескольких представлениях, состоящих из разных частей HTML и логики. такие как:
- Панель голосования
- Следить / Отписаться панель
- Панель входа / выхода
- Код для проверки входа пользователя в систему и т. Д.
Мне интересно, куда поместить этот код, чтобы он мог быть унифицирован? Я думаю, что помощник это путь? Если я объявлю помощника в контроллере, его можно вызвать из соответствующего представления, верно?
Некоторые элементы являются динамическими - например, кнопка «следовать / отменить подписку» - необходимо проверить, следует ли вы уже за пользователем или нет, и отобразить соответствующую кнопку, для которой потребуется проверить модель. Теперь я имею в виду, что вся логика находится в контроллере, и она возвращает соответствующую кнопку, но кажется странным возвращать сформированный html-код в возврате контроллера. Должно ли это быть больше похоже на:
- Контроллер проверяет, следите ли вы за кем-либо
- контроллер передает логическое значение в представление
- представление вызывает помощника с этим значением, чтобы нарисовать соответствующую кнопку
Кроме того, в качестве дополнительного вопроса я выполнял цикл циклов по массивам mysql в циклах foreach для обработки результатов mysql, возвращаемых из представления. Кажется, что мои взгляды становятся несколько сложными, но я не могу придумать другого способа сделать это, хотя, возможно, это должно быть сделано и в другом помощнике?
Извинения, если это наивный или повторяющийся вопрос, действительно существует много дискуссий по этому вопросу, но его не всегда легко отнести к другому проекту.