У меня возникли проблемы с дизайном программного обеспечения. Я хочу создать связь между контроллером, компонентом, представлением и помощником. Я имею эти модели Aricle
, Product
, List
. И в содержании Article
и Product
есть списки тегов в форме [LIST=1]
.Как создать связь между контроллером, компонентом, представлением и помощником
Поэтому я хотел бы сделать эти списки и вставить их в контент вместо тегов. Я думал, что хорошая идея будет ListRendererHelper
, которая будет отображать списки внутри View
вот так $this->ListRenderer->renderList($listId)
. И было бы неплохо, если бы я перечислил идентификаторы в базе данных, но я должен получить их из контента. И это не очень хорошая практика, чтобы манипулировать объектами внутри View
и не вставлять много кода PHP в View
.
Так что я считаю, что лучшее место для управления контентом - Controller
, и здесь получают списки идентификаторов. Но я не должен использовать Helper
в Controller
, поэтому я думаю, что должен сделать Component
для Controller
. И вот моя проблема, потому что мне придется писать код визуализации дважды в Component
и в Helper
, который против DRY. Другое решение - позвонить Helper
внутри Component
, но это тоже будет провал MVC. Итак, у кого есть идея, как его создать?
Я знаю эти принципы, но я в замешательстве. Могу ли я использовать не связанную модель внутри другой модели? –
И каков наилучший способ визуализации элемента() внутри помощника? –
ClassRegistry :: init() для загрузки другой модели. Используя класс представления: $ this -> _ View-> element() в помощнике; Если вы знаете принципы, почему вы запрашиваете нарушения MVC, например, используя помощники в компонентах? – burzum