使用MVC架构(Zend Framework),您应该使用单个视图和if语句来显示/处理表单或多个视图(即一个视图显示表单,一个显示结果)。zend框架显示/进程形式使用相同的动作/视图?
在这种情况下,我试图制作一个谷歌搜索引擎。显示搜索结果时页面布局将发生根本性变化。
例如;控制器:
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; ?>
希望是有道理的。
投票结束不是一个真正的问题。你已经考虑过这个问题,并且你有所有的工具来做出适合你需求的决定。你只是试图将决定委托给SO用户,这是行不通的,因为一方会说一件事,另一件事则说。如果事实证明这是一个次优解决方案,重构,那么以你认为最好的方式进行。 – markus 2011-05-22 11:40:07
@markus,我想这里的回答并不简单,但可能。这也包括如果。可能是这个问题应该被移动到程序员.S – gaRex 2011-05-22 13:17:04
@markus“你应该用if语句来显示/处理一个表单还是多个视图”。虽然错过了标点符号,但这听起来像是一个问题!感谢那些提供了答案的人,单独的观点似乎是前进的方向。 – 2011-06-18 12:48:12