Многие фреймворки имеют некоторое понятие «частичные», которые обычно используются для такого рода вещей.
Поскольку эти частичные данные, как правило, доступны только для чтения и часто отображаются на каждой странице (или некотором четко определенном наборе страниц), вы можете подходить к ним, не думая с точки зрения контроллеров, как на странице.
Другими словами - помните, что это нормально, если ваш код вида / макета общается напрямую с вашими моделями, если он только опрашивает их.
Я все время так делаю:
layout.php:
<div id="newsWidget">
<?PHP $news = Model_News::latest(); ?>
<?PHP foreach($news as $newsitem): ?>
<!-- output some news headlines -->
<?PHP endforeach; ?>
</div>
Model_News :: latest () может реализовывать некоторое кэширование и т. Д., Так как это код макета, и я, вероятно, не хочу нажимать на БД при каждом запросе.
Контроллер-наворот не нужен!