Куда выносить логику по сохранению загруженного через форму файла?
====================================================================

 Здравствуйте! Куда наиболее правильно выносить логику по обработке и сохранению загруженного файла через форму?  
  

На данный момент рассматриваю 3 варианта:  

1. Создать базовый контроллер и наследовать от него.  

2. Вынести в трейт.  

3. Вынести в отдельный класс и работать с ним.  

4. Ваш вариант...  
  

Вкратце в чем будет заключаться логика: создание пути (с проверкой, нет ли уже такого файла) по которому будет сохранен файл, и собственно сохранение самого файла `request()->file('file')->storeAs(...)`. Возможно, добавится что-то еще, например, задание диска для сохранения. 

 Если твой файл - некая самостоятельная сущность - 3.