@rolege

Что за магия в symfony?

Всем привет. Только начал изучать симфони. Информации по фрейморку мало. Поэтому ламерский вопрос.

Это что за магия в демо-приложении? Это оно так автоматом и слаг подставило, и пост по нему нашло?
public function postShowAction(Post $post)
{   
    return $this->render('blog/post_show.html.twig', array('post' => $post));
}

Что-то как-то теряется смысл контроллера, как посредника между моделью и видом.
  • Вопрос задан
  • 308 просмотров
Решения вопроса 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
@ParamConverter.
Что-то как-то теряется смысл контроллера, как посредника между моделью и видом.

Если вы просто выбираете запись по id и отправляете в view - да, теряется.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Что-то как-то теряется смысл контроллера, как посредника между моделью и видом.


1) Symfony - не MVC фреймворк, это request/response фреймворк. Более правильная терминология для HTTP фреймворка.

2) Контроллеры - это не один класс, это в данном случае весь слой от точки входа, фронт контроллера, до непосредственно экшена контроллера. View в этом случае - это HTTP, пассивная вьюшка и только. Сама по себе она ничего не умеет, это тупо представление данных собранное контроллером.

У этого подхода есть название - Model-View-Adapter или Mediating-controller MVC, но все это лишь бесполезные детали.

3) ParamConverter-ы здорово уменьшают дублирование кода в контроллерах, однако работа с сущностями в контроллерах дело довольно опасное. Это своего рода компромис между "правильной архитектурой" и "стоимостью разработки.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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