【问题标题】:Loading all codeigniter controller at the beginning在开始时加载所有 codeigniter 控制器
【发布时间】:2011-07-27 11:37:37
【问题描述】:

我有个小问题。

在控制器中,我将加载 otherController 中的函数。

我只是用

$pCtrl = new otherController;

用于在那个 otherController 中加载类。

问题是此时 otherController 尚未加载。所以这个类不可用。

我能找到一种方法告诉 codeigniter 在做其他事情之前加载所有控制器(文件夹控制器)吗?

感谢您的帮助。

【问题讨论】:

    标签: codeigniter controller load


    【解决方案1】:

    这是不好的做法。您应该使用 CodeIgniter 库来代替。

    不过,如果您已经在做坏事,您可以在 config/autoload.php 中打开 /controllers 目录,并配置 codeigniter 以自动加载所有可用的控制器。不确定这在实践中是否会很好(并且有效),因此请尝试使用库。

    【讨论】:

    • 你好,你是对的。这当然不是最好的做法。对我来说最好的事情就是有可能选择控制器加载的顺序。我需要一个控制器来处理某种类型的内容,但并不总是相同的。如果我可以说:我希望这个控制器首先加载(另一个通过 url 调用),这对我来说是最佳的。
    • 我不记得 CI 是否有控制器加载顺序选项。实际上,如果您只需要其中一些控制器,您实际上可以创建一个包含您需要的所有功能的“基础”为此,然后让您的控制器扩展(因此继承)该“基”类。是的,也不是最好的选择。您真的应该考虑使用库或助手。
    • 另一种解决方案是使用 require_once 加载我的控制器。也许对我来说最简单的解决方案
    • 是的,但那会非常糟糕。您正在解决的问题比 CI 所能解决的要多。可悲的是。真的,如果有时间,请尝试学习图书馆。当我第一次玩 CI 和 CakePHP 时,我很难学会这一点。 大量 浪费了开发时间。做什么?重写以遵守标准/最佳实践。
    【解决方案2】:

    最好创建一个辅助函数或库..

    哦,顺便说一句,你也可以使用HMVC

    【讨论】:

    • 我会看到HMVC,不知道。谢谢
    猜你喜欢
    • 2011-08-30
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    相关资源
    最近更新 更多