@gog69

Как организовать следующую логику?

все гайды пишут пример как сделать блог

PostControoller
listAction
editAction

CommentsController
listAction
editAction

где почитать как сделать более сложные вещи

допустим у меня на странице есть хедер, пост, комменты и футер
если хедер и футер выносить в контроллеры

{{ render(controller('headerController')) }}

{% block content %}{% endblock %}

{{ render(controller('footerController')) }}


я не пойму смысла тогда от этого MVC если это почти тот же flat-php

хочу сделать вот так:

PostControoller {
   indexAction() {

      .....

      return [
         "post" => $currentPostInfo,
         "comments" => $commentModel->getComments($id),
         "meta" => $helper->getItemsForHeaderAndFooter()
      ]

   }
}


или как лучше сделать?

ПС. хедер и футер динамически формируются на основе инфы из БД
  • Вопрос задан
  • 267 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
я не пойму смысла тогда от этого MVC если это почти тот же flat-php


Symfony request/response фреймворк. MVC - web так не работает. То что на бэкэнде называют MVC на самом деле завется mediating controller MVC или MVA.

Ну и опять же, где тут flat php? Это по сути возможность делать "под запросы" и реюзать код. Что-то типа виджетов.

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

Не зацикливайтесь на MVC, потому что люди часто проигрывают, думая что модель это доктриновские сущности и только. А есть еще сервисы - это тоже часть модели. И суть вся в разделении ответственности (контроллеры конвертят HTTP запросы в вызовы методов модели и конвертят состояние модели в HTTP ответы и только).
Ответ написан
Ваш ответ на вопрос

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

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