Рефакторинг контроллера в Laravel

183
15 февраля 2018, 16:11

Куда можно вынести код из контроллера, чтобы он не был таким жирным?? Какие решения есть для таких случаев? Я так понимаю командная шина тут не подходит?

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());
}
READ ALSO
Как добавить meta_data при помощи REST api woocommerce?

Как добавить meta_data при помощи REST api woocommerce?

Сделал api для передачи данных между 1С и WooCommerceПосле выборки из базы формирую запрос но мета данные в базе и созданных товаров не добавляются...

169
Передать значения переменных в цикле php

Передать значения переменных в цикле php

Добрый вечерПодскажите, пожалуйста, как сделать

182
opencart 3 скидки

opencart 3 скидки

нужно реализоватьадмин может давать скидку конкретному пользователю на все товары, но также админ может давать скидку конкретному пользователю...

152
Загрузка шрифтов по названию

Загрузка шрифтов по названию

Я использую GD для того чтобы отрисовать текст на изображенииНо шрифты приходится хранить где-то рядом и указывать путь к ним

153