【问题标题】:CodeIgniter HMVC: extend a library or create a global controller?CodeIgniter HMVC:扩展库还是创建全局控制器?
【发布时间】:2011-12-29 16:08:55
【问题描述】:

我已经开始在带有模块化扩展的 Codeigniter 中使用 HMVC,我想创建一组可用于整个应用程序的方法。

例如我有这三种方法:

  • 获取应用名称的方法
  • 一种根据用户代理获取正确视图文件夹的方法
  • 一种加载资产的方法

最好的方法是什么:

  1. 我在模块内使用模型,然后从所有其他模块请求该模型
  2. 我可以扩展或创建一个库/助手

现在我正在使用第一个解决方案,但我开始怀疑它会减慢应用程序的速度。

【问题讨论】:

  • 如果它真的只有这 3 种方法,你不能把它作为一个独立的模型并自动加载它吗?
  • 是的,我正在这样做,但是我可能还必须使用控制器,并且我不想以后都更改
  • 是的,这两种方法都有效。难道你不只是使用/加载模型从“前端”控制器做所有这些事情,然后从那里调用另一个控制器吗?看起来你的模型方法会很好。
  • 就我个人而言,我会将其创建为助手,然后自动加载助手。我不确定您的系统,但是通过在每个其他模块中请求该模块,您可以让请求模块访问包含“全局”功能的模块中的所有内容。 (只是说这令人困惑)。如果你没问题,那就去吧。但正如我上面所说,我会将这些分离成一个自动加载的助手。
  • @matt 也在一个助手中,我可以从 requestin 控制器访问它的所有方法,对吧?反正我也可以自动加载模型

标签: php codeigniter hmvc


【解决方案1】:

我会把它放在一个基本控制器中。喜欢这个:https://github.com/jamierumbelow/codeigniter-base-controller

【讨论】:

    猜你喜欢
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    相关资源
    最近更新 更多