【问题标题】:Codeigniter HMVC effect on performanceCodeigniter HMVC 对性能的影响
【发布时间】:2011-09-12 22:05:14
【问题描述】:

好的,所以HMVC in Codeigniterscalable web applications (with Kohana 3) 的选择,这基于许多stackoverflow 讨论,例如HMVC patternsMVC vs HMVC

但是,在 Codeigniter 中使用 HMVC 方法会如何影响性能?据我了解,HMVC 将“模拟控制器”。假设一个一天的“大型”项目,Codeigniter 的实施会不会是一个未来的问题?

【问题讨论】:

    标签: php performance codeigniter hmvc scalable


    【解决方案1】:

    HMVC 为 CodeIgniter 添加了两个主要的不同功能,这经常使人们感到困惑:

    1. 模块化 MVC
    2. 分层 MVC

    Modular MVC 是大多数人想要使用的功能,本质上只是一种让文件夹结构更清晰的方法。

    HMVC 是从其他控制器调用控制器而不需要新的 HTTP 请求的做法。在我看来,这很少有用,除了调用自定义 404 页面或“小部件”之类的事情。

    MMVC 对性能几乎没有任何影响,通过 HMVC 调用控制器显然几乎慢了一倍。

    无论哪种方式都不会引起注意。如果您的网站开始在高流量下爬行,那么这是您需要担心的最后一件事。

    【讨论】:

    • "Widgets" 确实——我倾向于同意它很少有用。当您完成将一个控制器写入控制器以与modules::run() 一起使用时,您意识到“这可能只是一个库” - 无需再次调用控制器类、路由、全局卫生例程等。原因。
    • 感谢您的澄清 - 也许是跟进?我对 HMVC 的主要原因(我认为)是代码可重用性。如果我想使用 CI “模板化”页面,是否需要 HMVC?例如,如果我希望在每个页面上都显示“登录”表单,这是否需要 HMVC?谢谢。我认为这些是需要 HMVC 的“视图部分”,但我愿意以另一种方式学习。
    【解决方案2】:

    使用 HMVC,您不必再像在 codeigniter 中实现的那样对模块进行编码。如果客户需要您在之前项目中已经完成的功能,您只需将其复制并放入当前项目中即可。

    正如在 codeigniter 中实现的那样,您可以像以前一样进行编码,并且只实现您认为需要 HMVC 的功能。

    至于性能,它通常取决于您如何设计应用程序。

    【讨论】:

      猜你喜欢
      • 2013-08-30
      • 2021-03-09
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 2020-03-06
      • 2011-04-15
      相关资源
      最近更新 更多