MVC
回答
我不會使用ZF的MVC結構之外的Zend_Controller_Request_*對象(即使可能,)。您可以通過類名稱看到它已屬於控制器包,它的API公開了一些完全針對ZF的MVC中使用的方法,這些方法由全部子類型繼承。
使用ZF的MVC時沒問題,但對於Request對象之外的用法做得太多了。 Request對象的想法是將當前的Request環境從Superglobals(ZF不支持,它只是位於頂部)封裝並解耦。在我看來,所有關於模塊,控制器和操作的額外內容都不應該成爲它的一部分。這在ZF中才有意義。
編寫一個Request對象並不困難,所以我相信你可以輕鬆地創建一個更輕量級的版本。下面是一些基本的例子:
- http://www.phpdesignpatterns.de/auflage-2/downloads/code/PHP-Design-Pattern-Kapitel-8.zip
- http://github.com/sebastianbergmann/php-mvc-ukernel/blob/master/Request.php
- http://github.com/spriebsch/MVC/blob/master/src/Request.php
最後,這是你的選擇,雖然。
前端控制器初始化請求和響應對象並將它們傳遞給路由器。路由器調用請求的動作,並且(通常)將返回的內容附加到響應中。所以這些對象可以從MVC的Controller層獲得。
編輯:
FrontController設計使用以下代碼來設置請求:從Zend控制器或應用程序外
$request = new Zend_Controller_Request_Http();
使用請求對象這種方式是非常簡單明瞭,所以使用它模塊應該不成問題。 Zend_Controller_Request_Http使用Zend_Uri。
但如果我根本不使用MVC模式呢?有什麼辦法可以利用'_request'對象嗎?這並不是什麼大不了的事情,但是我仍然在項目中使用ZF作爲組件庫,所以它可以很好地切換,也可以結合'Zend_Filter_Input'函數。 – 2010-03-28 12:28:04
@皮卡:檢查編輯的答案。 – erenon 2010-03-28 16:27:58
- 1. Spring MVC和JSF MVC
- 2. ASP.NET MVC vs Winforms MVC
- 3. MVC中的MVC-ControllerTypeCache.xml
- 4. asp mvc to spring mvc
- 5. MVC 3與MVC Turbine
- 6. Spring MVC - mvc資源
- 7. MVC
- 8. Javascript onload MVC ASP .NET MVC
- 9. 春季mvc獲取java.lang.NullPointerException mvc
- 10. Angular + MVC還是Vue + MVC?
- 11. asp.net mvc居民對象mvc
- 12. ASP.NET MVC中的UpdatePanelAnimation helper mvc
- 13. 在asp.net MVC中的UrlActionResult MVC
- 14. MVC多個區域MVC 3
- 15. MVC - 使用MVC與WCF
- 16. Asp.net mvc工具包mvc
- 17. PHP與MVC MVC交互
- 18. ViewModel MVC下拉/ SelectListItem MVC
- 19. 升級MVC-3 MVC-4
- 20. Asp.NET MVC是MVC還是MVP?
- 21. MVC MiniProfiler與ASP.NET MVC 4
- 22. iOS - MVC 1或MVC 2?
- 23. 混合MVC 1和MVC 3
- 24. MVC佈局VS MVC主頁
- 25. Telerik MVC與ASP.NET MVC與JQuery
- 26. asp.net的MVC 2 MVC 4
- 27. MVC 2/MVC 3/MVC 4中的嵌套區域
- 28. 材料爲asp.net mvc 1和asp.net mvc 2和asp.net mvc 3
- 29. 在MVC
- 30. DataAnnotations MVC
閱讀'Controller_'時,我有同樣的不安情緒。我很可能會推出自己的產品,或者使用您鏈接的產品之一 - 它們看起來非常乾淨漂亮。謝謝! – 2010-03-28 21:17:27
(會+1,但今天得票。) – 2010-03-28 21:38:06