Идея MVC для тех, кто может читать это, кто не знает, состоит в том, чтобы разделить архитектуру сайта MODEL, VIEW и CONTROLLER. Я наиболее знаком с CakePHP MVC Framework. Так что этот ответ будет основан на моих знаниях MVC, поскольку он относится к CakePHP.
Поскольку информация, которую вы предоставляете, должна быть предоставлена представлению, я бы предложил создать ее в качестве помощника HTML. Помощник предназначен для обеспечения многоразового кода для представления. Контроллер - это реализация логики кода (что делать с данными, поступающими из форм в представлении, какие представления вызывать, запрашивать модель для данных и т. Д.).
Просматривая вопрос, который вы говорите о кешировании этих элементов. Я думаю, что это хорошо, если вы ожидаете получить большое количество трафика, но в действительности нет необходимости. Сказав это, кажется, вопрос больше об архитектуре, чем о кешировании. Нынешняя архитектура кажется разумной, но я бы переместил функциональность в «компонент», доступный из всех контроллеров. Это позволит вам вызывать его с любого контроллера, где он вам нужен, без необходимости каждый раз вызывать определенный контроллер.