ZF2 много форм в одном контроллере

В ZF2 у меня есть контроллер, который обрабатывает 5 форм. 5 форм отображаются на одной странице (index), и вся обработка форм происходит в indexAction() на основе нажатия кнопки отправки формы (за один раз отправляется только одна форма).

Для меня наличие множества форм в одном контроллере — это уродливо, потому что логика обработки не проста (слишком много if-elseifв зависимости от значения кнопки отправки, многие сервисы вводятся в контроллер через фабрику контроллеров).

Как я могу получить зависимости от контроллера, чтобы упростить логику контроллера и уменьшить количество зависимостей? Но мне все еще нужно 5 форм на одной странице, и мне нужно обрабатывать форму, основываясь на нажатой кнопке отправки.

Я думал о создании одного контроллера для одной формы (контроллер получает форму через фабрику), но не представлял, как объединить несколько контроллеров в одно представление. Другой вариант — иметь действия, которые обрабатывают выделенные формы (одно действие => одна форма), но при этом сохраняется множество зависимостей форм в контроллере.

Любая помощь?

0

Решение

Вероятно, лучшее решение — перенаправить все формы публикации на другой URL. Вы можете отправить form1 в / controller / form1process и form2 в / controller / form2process. Тогда вся обработка форм может быть все еще в одном контроллере, но логика для каждой формы разделена на разные функции.

Если есть ошибки, вы можете перенаправить на страницу / controller / allforms и сохранить переменные записи в сеансе или где-то еще.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]