Используя архитектуру MVC (Zend Framework), следует использовать одно представление с операторами if для отображения / обработки формы или несколько представлений (т. Е. Одно представление для отображения формы, другое для отображения результата).
В этом случае я пытаюсь создать поисковую систему, похожую на Google.Макет страницы в корне изменится при отображении результатов поиска.
Например;Контроллер:
public function indexAction()
{
if (!$this->getRequest()->isPost()) {
// display form
} else {
if ($this->_request->isPost()) {
if (!$form->isValid($formData)) {
// re-display form with errors
} else {
// process form and;
// display result using same action/view?
// display result using same action but use a different view?
}
}
}
}
Использование того же представления:
<?php if(isset($this->form)) : ?>
<!-- show form -->
<?php else: ?>
<!-- show result -->
<?php endif; ?>
Надеюсь, что имеет смысл.