Рефактор получился не плохим.
Добавлю свое представление: метод handleUploadedImage следует видоизменить, передавать ему не Request, а непосредственно File (иначе как можно переиспользовать этот метод?).
А при config('app.uploading_enabled') == false, метод handleUploadedImage должен выкидывать Exception (ибо метод был вызван, но выполниться он не может, это как-то странно, что он молча ничего не сделает).
Приятно, спасибо.
Я — за развитие и расширение комьюнити.
Приветствую мастеров и хороших людей =)
MVC - это паттерн, а не архитектура, вот пара слов:
http://ahrameev.ru/article/why-do-php-developers-think-mvc-is-an-application-architecture.html
Сейчас в тренде модульность, спёрли от yii2 (у кого что раньше появилось - не знаю, факт в том, что в yii это из коробки и в документации, для ларавела есть куча пакетов на гите) - http://www.yiiframework.com/doc-2.0/guide-structure-modules.html .
Да и модульность - это часть архитектуры, каждый модуль можешь делать как душа ляжет.
Спасибо за дополнение.
Переиспользовать метод можно, ведь в любом случае этот метод зависит от данных в объекте Request. Тестируется это тоже отлично. Плюс же заключается в том, что мы не передает множество данных, а просто внедряем Request. Если бы мы работали с моделью или другими классами, там да, нужно передавать непосредственно данные (массив, создаваемый
$request->all()
), хотя многие передают объект Request.На счет исключения, я стараюсь использовать их только там, где они действительно необходимы. В данном случае нам не нужно знать есть ли там вообще изображение или нет. В более сложном случае подход, описанный тобой, безусловно выглядит лучше.
Если у тебя есть дополнения к описанным практикам Laravel, буду благодарен, если поделишься ими здесь