1

我想在核心类 CI_Router(更准确地说是 MY_Router)中使用一个助手。在这个自定义路由器中,我对原始代码进行了一些修改,以便能够在我的网址中插入连字符。像往常一样,我已经在 autoload.php 文件上定义了帮助程序,但似乎我不能在视图或控制器以外的类中调用帮助程序函数。

关于如何处理这个问题的任何想法?我最初的方法是使用一个助手,所以我可以在任何我想要的地方重用它。

TYVM。

4

2 回答 2

1

直到核心之后才实例化助手,因此它为什么不起作用。

您要么必须:

  1. 在你的类中复制函数MY_Router,或者,
  2. 重新思考为什么您可能会在路由器中使用与标准控制器或视图中相同的功能。

选项 1 显然更容易,但可能不是更可取,具体取决于您的强迫症有多严重。

于 2012-12-03T18:25:15.900 回答
0

您可以尝试获取主 CI 对象的实例并将其设置为变量,然后使用该变量加载帮助程序。前任:

$ci =& get_instance();
$ci->load->helper('date');

我知道这适用于其他领域,对于任何路由器类都不是 100% 确定的。

于 2013-11-26T19:17:41.450 回答