Я обычно создаю экземпляры своих форм в действии, и именно там я их обрабатываю, когда они отправляются.Затем я передаю их в представление и выводю их как обычно.
Эта форма (поле поиска) отличается, поскольку она не является частью одной страницы.Это должно быть видно везде.Я сделал его частью шаблона layout.phtml
, создал его и получил к нему доступ прямо сейчас.
$search = new SearchForm();
echo $search;
Форма распечатывается нормально, но теперь вопрос в том, где мне обращаться с этой формой.У меня обычно есть код, подобный этому, в действии ..
if ($this->_request->isPost()) {
//and form is valid
//process the data
}
, но поскольку эта форма универсальна, для нее нет действия.Как мне справиться с этим?
Должен ли я:
- создать для него фиктивное действие (что не имеет смысла, потому что форма везде)
- или я должен поместить код обработкипрямо в layout.phtml (который я считаю плохой практикой MVC, потому что я сейчас смешиваю обработку формы с представлением).
Что мне делать?Любой совет по этому поводу?