Есть вопрос по идеологии. Меня два раза заваливали на собеседованиях на нем и хочу понять как же все таки правильно делать согласно адептам чистого кода? Вопрос в элементарных типах ответа. Т.е. приходит запрос на 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') который разрулит этот вопрос. не переусложенение ли это?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей