Как правильно сформировать следующую страницу?

какая лучшая практика для формирования страницы к примеру как на рисунке
648ba7deb6644e44a34d7cc72f8bb77f.png
с серединкой все понятно - контроллер подготавливает данные и вызывает втюшку, вьюшка инклудит лейаут который в свое очередь должен кроме всего отрендерить
хедер, включающий в себя меню структура которого приходит из БД, контент футера так же.
в сайдбаре обычно один или несколько независимых виджетов

помню лет 6 назад у меня были контроллеры которые передавли во вьющку это все дело
return [
"page_content" => $page_content,
"footer" => $footer,
"left_sidebar" => $left_sidebar,
"right_sidebar" => $right_sidebar
]

сейчас у меня в лейауте

{{ render(controller('header')) }}
{{ render(controller('sidebar')) }}

{% block content %}
{% endblock %}

т.е. сначала срабатывает основной контроллер и рендерит вьюшку которая инклудит лейаут, который в свою очерель вызывает еще несколько контроллеров ...
так же иногда в лейауте извлекаю данные через твиг-экстеншен, например для футера

но все это мне не очень нравится

какая практика есть для этого?

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

и что делать в случае если вся страница - это набор маленьких блочков-виджетов. типа так
5847808d71e846faa86bdb58d662a7a1.png
  • Вопрос задан
  • 913 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы