Вопрос по MVC и выбору вариантам ответа

247
08 июля 2022, 17:10

Есть вопрос по идеологии. Меня два раза заваливали на собеседованиях на нем и хочу понять как же все таки правильно делать согласно адептам чистого кода? Вопрос в элементарных типах ответа. Т.е. приходит запрос на GET /users запрос может приходить как с rest клиента так и с веба, как нам завещает MVC, решать в каком формате отправлять ответ должен контроллер и вызывать соответствующую вьюху. Но как?

набросал пример почтикода на коленке.

class Controller {
  public users($request) {
    
     $users = Users::get();
     return $this->responce($users, $request->headers('Accept'));
  }
  private response($data, $type) {
     switch($type) {
        case 'application/json': {
           return view('users/json', $data);
        } 
        case 'application/xml': {
           return view('users/xml', $data);
        } 
        case 'text/html': {
           return view('users/html', $data);
        } 
        default: {
           throw new MethodError('Access format not supported');
        } 
     }
  }
}

или нужен билдер какой то? ResponceFabric->view('users')->type('json') который разрулит этот вопрос. не переусложенение ли это?

READ ALSO
Проблема со scan в dynamodb

Проблема со scan в dynamodb

Пытаюсь сделать scan в dynamodb, с использованием PHP и пакета aws/aws-sdk-php Мне нужно найти непрочитанные уведомления для определенных аккаунтовКроме...

193
как послать из php данные на nodejs websocket сервер

как послать из php данные на nodejs websocket сервер

Прошу помощиМне необходимо посылать данные из php7

180
Модификация без словаря

Модификация без словаря

Дано следующее задание: Вводится текстКонец ввода F1

190
Нет расстановки по убыванию [дубликат]

Нет расстановки по убыванию [дубликат]

Подскажите пожалуйста , как решить проблемуВвожу текст , жму F3 и программа завершается без расстановки

237