Куда можно вынести код из контроллера, чтобы он не был таким жирным?? Какие решения есть для таких случаев? Я так понимаю командная шина тут не подходит?
public function index(Request $request)
{
$validator = \Validator::make($request->all(), [
'widget' => 'required',
]);
if ($validator->fails()) {
return response()->json(['errors'=>$validator->errors()]);
}
$namespace = !(array_key_exists($request['widget'],$this->config)) ?: $this->config[$request['widget']]['namespace'];
if (!class_exists($namespace)) {
return response()->json(['error'=>'Widget Not Found']);
}
$widget = new $namespace();
if(!($widget instanceof WidgetFieldInterface)) {
return response()->json(['error'=>'Widget Not Implement WidgetFieldInterface']);
}
return response()->json($widget->getField());
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники