4
我有一個約60個表格報告頁面的網站。想要將其轉換爲Zend。該報告有兩個狀態:空報告和填寫數據報告。每個報告都有自己的一組輸入框和選擇下拉菜單以縮小搜索範圍。你點擊提交,它會檢索數據。這就是所有的每一頁。適用於大型報告站點的最佳Zend Framework體系結構?
我是否使用默認索引操作和getData操作創建60個控制器?我在網上閱讀的所有內容都沒有真正描述如何構建真正的網站。
我有一個約60個表格報告頁面的網站。想要將其轉換爲Zend。該報告有兩個狀態:空報告和填寫數據報告。每個報告都有自己的一組輸入框和選擇下拉菜單以縮小搜索範圍。你點擊提交,它會檢索數據。這就是所有的每一頁。適用於大型報告站點的最佳Zend Framework體系結構?
我是否使用默認索引操作和getData操作創建60個控制器?我在網上閱讀的所有內容都沒有真正描述如何構建真正的網站。
如果提取和檢索數據的方法與您在所有60個報告中提到的方法非常相似。創建60個控制器(+ PHP文件)似乎很愚蠢。
看來你試圖用默認的重寫路由器來解決這個問題。您可以添加一個路由到路由器,該路由器將自動存儲您的報告名稱,並且您可以將邏輯抽象並委派給某些報告運行人員 - 業務對象 - 事物。
$router = $ctrl->getRouter(); // returns a rewrite router by default
$router->addRoute(
'reports',
new Zend_Controller_Router_Route('reports/:report_name/:action',
array('controller' => 'reports',
'action' => 'view'))
);
然後像這樣在你的控制器......
public function viewAction() {
$report = $this->getRequest()->getParam("report_name");
// ... check to see if report name is valid
// ... stuff to set up for viewing report...
}
public function runAction() {
$report = $this->getRequest()->getParam("report_name");
// ... check to see if report name is valid
// Go ahead and pass the array of request params, as your report might need them
$reportRunner = new CustomReportRunner($report, $this->getRequest()->getParams());
$reportRunner->run();
}
你明白了吧;希望這可以幫助!