【发布时间】:2011-05-22 11:35:25
【问题描述】:
使用 MVC 架构(Zend 框架),您应该使用带有 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; ?>
希望这是有道理的。
【问题讨论】:
-
投票结束不是一个真正的问题。您已经考虑了问题,并且拥有所有工具来做出适合您需求的决定。您只是试图将决定委托给 SO 用户,这是行不通的,因为一个人会说一件事,而另一个人会说另一件事。以您认为最好的方式进行,如果结果不是最佳解决方案,请重构。
-
@markus,我认为这里的回答并不简单,但可能。它还包括如果。可能这个问题应该移到programmers.SE
-
@markus “您应该使用带有 if 语句的单个视图来显示/处理表单还是多个视图”。尽管缺少标点符号,但这对我来说听起来像是个问题!感谢那些提供答案的人,不同的观点似乎是前进的方向。
标签: model-view-controller zend-framework views zend-form