Положение:
Упрощенная ситуация такова: рассмотрите блог, который построен как проект MVC. Пример блога YII хорош для этого, но вопрос не является специфичным для фреймворка: он не является чем-то особенным; у вас есть таблица с сообщениями и страница сборки из:
- модель (YII даст вам базовую настройку активной записи)
- контроллер, который, например, создает индекс (список всех сообщений)
- представление (или несколько представлений), которое в итоге создает фактический HTML.
Теперь у меня есть рабочий блог, но у меня также есть внешний источник информации, который я хочу представить на этой же странице: например, RSS-лента.
Как добавить этот новый источник данных?
Возможные растворы
Чтобы уточнить, с чем я борюсь, вот несколько вещей, которые я рассматриваю
- Создать новую модель, которая получает информацию из обоих источников.
- По ощущениям как путь наименьшего сопротивления / работы
- Нужно отсортировать посты блогов и RSS по дате
- Может потребоваться установить какой-то флаг о том, что это за элемент (у элемента RSS может не быть автора, но у него есть источник).
- Тот факт, что над флагом ощущается необходимость, заставляет меня поверить, что это должны быть две модели.
- Создание новой модели для RSS и создание контроллера, который объединяет два источника и передает его в представление, способное обрабатывать оба типа сообщений
- Что-то более сложное (возможно, более специфичное для фреймворка), но текущий вид поста - это всего лишь один вид для одного поста, и он повторяется. Вместо одного представления, которое обрабатывает оба типа, вам может потребоваться не только модель, но также представление для вашего RSS и контроллер (?), Который выполняет все микширование и сопоставление?
Рамочные примечания:
Я использую YII, но это не совсем о YII. Конечно, если что-то сложное должно быть сделано, мне придется реализовать это в YII, но речь идет о дизайне и шаблоне MVC, а не о том, где поставить ;
; D