Концепции CodeIgniter для начинающих — многоразовый код представления, куда идти? (Помощник?) [закрыто]Php

Кемеровские программисты php общаются здесь
Anonymous
Концепции CodeIgniter для начинающих — многоразовый код представления, куда идти? (Помощник?) [закрыто]

Сообщение Anonymous »

Я новичок в CodeIgniter, но все еще пытаюсь понять, как наиболее чисто использовать идеологию MVC.

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

Некоторые элементы являются динамическими, например кнопка «подписаться/отписаться». Необходимо будет проверить, подписаны ли вы уже на пользователя или нет, и отобразить соответствующую кнопку, для проверки которой потребуется модель. Теперь у меня есть то, что вся логика находится в контроллере и он возвращает соответствующую кнопку, но кажется странным возвращать сформированный HTML-код и в возврате контроллера. Должно ли это быть больше похоже на следующее:
  • контроллер проверяет, следите ли вы за кем-то
  • контроллер передает логическое значение в представление
  • представление вызывает помощника с этим значением, чтобы нарисовать соответствующую кнопку
Кроме того, в качестве второстепенного вопроса я довольно много просматривал массивы MySQL в циклах foreach, чтобы обработать результаты MySQL, возвращенные из представления. Кажется, мои взгляды становятся несколько сложнее, но я не могу придумать другого способа сделать это, хотя, возможно, это следует сделать и в другом помощнике?

Извиняюсь, если это наивный или повторяющийся вопрос, вокруг этой темы действительно много дискуссий, но ее не всегда легко связать с другим проектом.

Вернуться в «Php»