2011-06-11 73 views

回答

5

主要有兩種不同的功能,HMVC增加笨經常混淆的人:

  1. 模塊化MVC
  2. 的層級MVC

模塊化MVC是大多數人想要使用的功能並且基本上只是一種清潔的文件夾結構。

HMVC是從其他控制器調用控制器而不需要新的HTTP請求的做法。在我看來,這很少有用,除了調用自定義404頁面或「小部件」之外。

MMVC幾乎沒有增加性能,通過HMVC調用控制器顯然幾乎是速度的兩倍。

無論哪種方式都不會引人注目。如果您的網站在高流量下開始爬網,那麼這是您需要擔心的最後一件事情之一。

+0

「小工具」的確如此 - 我傾向於認爲它很少有用。在完成將一個控制器寫入Controller並與'modules :: run()'一起使用時,您會意識到「這可能只是一個庫」 - 不需要調用Controller類,路由,全局衛生例程等。無緣無故再一次。 – 2011-06-14 06:30:14

+0

感謝您的澄清 - 也許是後續?我認爲HMVC的主要原因是代碼的可重用性。如果我想使用CI「模板化」一個頁面,是不是需要HMVC?例如,如果我想要在每個頁面上顯示「登錄」表單,這是否需要HMVC?謝謝。我認爲這些都是需要HMVC的「觀點偏見」,但我們仍然願意另闢蹊徑。 – csi 2011-06-16 19:37:51

2

使用HMVC,您不必再像在codeigniter中實現那樣對模塊進行編碼。如果客戶需要您之前項目中已完成的功能,則只需將其複製並放入當前項目中即可。

正如在codeigniter中實現的那樣,您可以在您使用的過程中執行編碼,並僅實現您認爲需要HMVC的功能。

至於性能,它取決於你如何設計你的應用程序。