Вопрос по ролям в 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 ни то ни другое прямого отношения не имеет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
от 300 000 до 500 000 ₽