Используется фреймворк Symfony 2.
Есть сущности альбом, фотография.
Также, у сущности альбом есть поле "обложка".
Альбомы создаются на основе данных отправленных через форму. Там же передаются и фотографии которые относятся к этому альбому и обложка.
У альбомов есть папки, где хранятся его фотографии и обложка.
Требуется уменьшить размер фотографий и обложки при загрузке и поместить его в папку альбома.
Причем параметры этого уменьшения(требуемая высота, ширина) разные для фотографии и обложки.
Имеется сервис для манипуляции с изображениями. (Gregwar/ImageBundle)
На данном этапе создан сервис, который в зависимости от типа изображения(фотография или обложка, тип указывается явно) берет нужную ширину - высоту из конфига и используя Gregwar/ImageBundle изменяет размер изображения.
Что касается перемещения:
После отправки формы, изображение класса UploadedFile перемещается во временную папку, ему присваивается уникальное имя и свое расширение. Дальше путь к перемещенному изображению передается в сервис который его уменьшит. После этого на основе этого пути будет создан обьект класса Image и передан сущности Альбом, который в своем сеттере переместит его в свою папку.
Мне кажется что данное решение далеко от идеального. Хочется более оптимального варианта.
Вопрос: Как весь этот процесс должен быть организован?