подскажите со структурой файлов пожалуйста.
есть таблица tasks, в админке создаются задачи: одна задача - одна запись в таблице tasks.
при создании задачи есть выпадающий список с типом задачи (типы могут добавляться новые со временем).
т.е. у каждого типа задачи разные поля для заполнения (select, input type(text, radio, checkbox) )
сейчас в сервисе TasksService есть метод что-то типа prepareTask()
в котором куча условий:
if($task->type==1){
...
$taskResult = логика обработки конкретного типа, обработка шорткодов задачи.
}elseif($task->type==2){...}
return $taskResult;
Предполагаю что нужно создать один интерфейс для всех типов задач,
и для каждого типа задачи создать отдельный файл-сервис наследующий интерфейс,
чтобы исключить ветвление проверок if ($task->type==1)
Как это правильно сделать с учётом того, что будут добавляться новые типы задач?
В сервисе TasksService нужно будет в конструкторе принимать нужную задачу?