Я разрабатываю небольшую CMS для своей компании, используя Symfony2. Я действительно люблю эту структуру. Я люблю занятия по форме и их повторное использование (в конце концов, это все о формах).
Но (да, есть "но"), я чувствую, что делаю то же самое, копирую и вставляю во все контроллеры . Дублирование кода, которое мы ненавидим. Со всей бизнес-логикой, перемещенной в Службы и формы, события, постоянные действия в Doctrine, все мои контроллеры делают то же самое:
- Получить репозиторий
$this->get('mycompany.repository.entity')
- Динамически создать форму (логика находится внутри самого класса формы)
- Проверка формы, возвращение представления или сохранение сущности
- и так далее ...
Я имею в виду, что действия контроллера одинаковы , меняется всего несколько символов.
Как можно DRY с Symfony2 в моих контроллерах? Может быть, контроллер как услуга (концепция, которую я обнаружил всего несколько дней назад) может помочь?
РЕДАКТИРОВАТЬ : связанный вопрос (с первой идеей, предложенной Boo): Symfony2, как перенаправить на действие без жесткого имени маршрута?