Вопрос по ролям в mvc?

В документации к Aura router есть типичный пример:
$map->get('blog.read', '/blog/{id}', function ($request) {
    $id = (int) $request->getAttribute('id');
    $response = new Zend\Diactoros\Response();
    $response->getBody()->write("You asked for blog entry {$id}.");
    return $response;
});

Модель это обработчик? В данном случае модель это getAttribute() или getBody()? Потому что getBody() похожа на вьюшку, потому что в неё пишут ответ который должен быть отображён на экране. И где тогда контроллер?
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 3
gromdron
@gromdron
Работаю с Bitrix24
Если рассматривать указанный выше код, то по паттерну MVC, тут есть только V и C.

Код который является View:
"You asked for blog entry {$id}."

Код который является контроллером ( без view):

$id = (int) $request->getAttribute('id');
$response = new Zend\Diactoros\Response();
$response->getBody()->write(  );
return $response;


По факту Model части тут нет.
Ответ написан
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
это контроллер -- принимает get, генерирует ответ (response)
Ответ написан
Комментировать
Zend\Diactoros\Response - это одна из реализаций Psr\Http\Message\ResponseInterface, абстракция для Http ответа в которой лежит то что нужно вернуть браузеру: заголовки, http код, тело. там никакой логики нет, это ответ который вы вернете из контроллера.

Соответственно в $request лежат заголовки запроса, тело запроса метод и т.д.
к MVC ни то ни другое прямого отношения не имеет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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