2009-06-28 58 views
1

我自己正在創建一箇中小型Web應用程序的早期階段。我讀了「PHP對象,模式和實踐」,並且我決定使用頁面控制器,因爲快速生產是高優先級。頁面控制器也很吸引人,因爲我不熟悉PHP框架,並且創建一個複雜的前端控制器似乎目前超過了該項目。我的計劃是儘快發佈網站的頁面控制器版本,並在承諾進行更復雜的軟件設計之前查看觀衆是否喜歡它。這就是說,我可能會決定在路上添加更多'模塊'和開發人員......在這一點上,我應該切換到前端控制器。上面提到的這本書描述說:「從頁面控制器開始並轉向前端控制器模式並非不可能」,但「不可能」的措辭讓我擔心它可能相當困難。從頁面控制器轉換到前端控制器的友好代碼

我的問題是: 從頁面控制器到前端控制器設計的轉變有多難?在開發基於頁面控制器的應用程序時,應該如何謹慎地創建允許平滑過渡到前端控制器設計的代碼?理想情況是儘可能少地重寫/重構代碼,並使用相關的類/對象加載前端控制器。現在我只是謹慎維護MVC,所以任何有經驗的開發人員的建議都會很棒。謝謝。

回答

1

我認爲您的主要關注點應該是將「業務邏輯」放入正確設計的模型類中。換句話說,不要直接在頁面控制器中放置這樣的邏輯。相反,使用頁面控制器來解析輸入,例如GET和POST,實例化正確的業務邏輯對象,並調用正確的方法來完成實際的數據處理。

頁面控制器還應負責選擇要顯示的視圖 - 不要在業務對象中輸出內容,只需爲控制器返回數據。

通過使用這種方法,您應該在模型類中擁有大部分代碼,並且如果/當您要重寫爲使用前端控制器時,只需將頁面控制器更改爲使用前端控制器,希望不必修改其他任何東西。

1

我讀過你在大約3或4年前提到的書,作爲面向對象編程的第一次介紹,我發現它是一本很棒的書,但是我必須說,我只有真的要把握整個事情開始使用CakePHP並在其代碼中查找實際情況。書中的例子有時可能會有點混亂。

我建議再看看那裏的一些框架,Cake很好,Yii更好。與他們建立系統的時間並不長,只要你準備在引擎蓋下做好準備,他們可以成爲寶貴的學習工具。