使用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